Changeset 6520
- Timestamp:
- Apr 11, 2008, 3:08:30 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
OpenPNE/trunk/webapp/modules/admin/lib/db_admin.php
r6519 r6520 551 551 552 552 /** 553 * メンバーIDリスト取得(絞り込み対応) 553 * c_member テーブル内データによるメンバーIDリスト取得 554 * 555 * @return array 554 556 */ 555 function _db_admin_c_member_id_list($cond_list, $order = null) 556 { 557 $sql = 'SELECT c_member_id'. 558 ' FROM c_member'; 559 557 function db_admin_c_member_id_list4cond_c_member($cond_list, $order = null) 558 { 559 $sql = 'SELECT c_member_id FROM c_member'; 560 560 $wheres = array(); 561 561 562 // 開始年562 // 開始年 563 563 if (!empty($cond_list['s_year'])) { 564 564 $wheres[] = 'birth_year >= ?'; 565 565 $params[] = $cond_list['s_year']; 566 566 } 567 // 終了年567 // 終了年 568 568 if (!empty($cond_list['e_year'])) { 569 569 $wheres[] = 'birth_year <= ?'; … … 578 578 //最終ログイン時間で絞り込み 579 579 if (isset($cond_list['last_login'])) { 580 //期間で分ける581 580 switch($cond_list['last_login']) { 582 case 1 : //3日以内581 case 1 : // 3日以内 583 582 $wheres[] = 'access_date >= ?'; 584 583 $params[] = date('Y-m-d', strtotime('-3 day')); 585 584 break; 586 case 2 : //3~7日以内585 case 2 : // 3~7日以内 587 586 $wheres[] = 'access_date >= ? AND access_date < ?'; 588 587 $params[] = date('Y-m-d', strtotime('-7 day')); 589 588 $params[] = date('Y-m-d', strtotime('-3 day')); 590 589 break; 591 case 3 : //7~30日以内590 case 3 : // 7~30日以内 592 591 $wheres[] = 'access_date >= ? AND access_date < ?'; 593 592 $params[] = date('Y-m-d', strtotime('-30 day')); 594 593 $params[] = date('Y-m-d', strtotime('-7 day')); 595 594 break; 596 case 4 : //30日以上595 case 4 : // 30日以上 597 596 $wheres[] = 'access_date > ? AND access_date < ?'; 598 597 $params[] = '0000-00-00 00:00:00'; 599 598 $params[] = date('Y-m-d', strtotime('-30 day')); 600 599 break; 601 case 5 : //未ログイン600 case 5 : // 未ログイン 602 601 $wheres[] = 'access_date = ?'; 603 602 $params[] = '0000-00-00 00:00:00'; … … 607 606 608 607 if ($wheres) { 609 $where = ' WHERE ' . implode(' AND ', $wheres); 610 } else { 611 $where = ''; 612 } 613 $sql .= $where; 608 $sql .= ' WHERE ' . implode(' AND ', $wheres); 609 } 614 610 615 611 // --- ソートオーダーここから … … 617 613 // $orderの例:id_1 , id_2 618 614 // 「-」の前が項目名であとが1なら昇順 2なら降順 619 $type = explode("-",$order); 620 615 $type = explode('-', $order); 616 617 $is_order = false; 618 if ($order) { 619 $is_order = true; 620 621 switch ($type[0]) { 622 case "c_member_id": 623 $sql .= ' ORDER BY c_member_id'; 624 break; 625 case "nickname": 626 $sql .= ' ORDER BY nickname'; 627 break; 628 case "image_filename": 629 $sql .= ' ORDER BY image_filename'; 630 break; 631 case "c_member_id_invite": 632 $sql .= ' ORDER BY c_member_id_invite'; 633 break; 634 case "access_date": 635 $sql .= ' ORDER BY access_date'; 636 break; 637 case "r_date": 638 $sql .= ' ORDER BY r_date'; 639 break; 640 case "birth": 641 // 降順指定 642 if ($type[1] == "2") { 643 $sql .= ' ORDER BY birth_year DESC, birth_month DESC, birth_day'; 644 } else { 645 $sql .= ' ORDER BY birth_year, birth_month, birth_day'; 646 } 647 break; 648 default : 649 $is_order = false; 650 } 651 652 // 降順指定 653 if ($is_order && $type[1] == "2") { 654 $sql .= ' DESC'; 655 } 656 657 } 658 659 // --- ソートオーダーここまで 660 661 return db_get_col($sql, $params); 662 } 663 664 /** 665 * メンバーIDリスト取得(絞り込み対応) 666 */ 667 function _db_admin_c_member_id_list($cond_list, $order = null) 668 { 669 $ids = db_admin_c_member_id_list4cond_c_member($cond_list, $order); 670 671 $type = explode('-', $order); 621 672 //ランクでソートとポイントでソートは同等 622 673 if ($type[0] == 'RANK') { 623 674 $type[0] = 'PNE_POINT'; 624 675 } 625 626 $is_order = false;627 if ($order) {628 $is_order = true;629 630 switch ($type[0]) {631 case "c_member_id":632 $sql .= ' ORDER BY c_member_id';633 break;634 case "nickname":635 $sql .= ' ORDER BY nickname';636 break;637 case "image_filename":638 $sql .= ' ORDER BY image_filename';639 break;640 case "c_member_id_invite":641 $sql .= ' ORDER BY c_member_id_invite';642 break;643 644 case "access_date":645 $sql .= ' ORDER BY access_date';646 break;647 648 case "r_date":649 $sql .= ' ORDER BY r_date';650 break;651 case "birth":652 //降順指定653 if ($type[1] == "2") {654 $sql .= ' ORDER BY birth_year DESC, birth_month DESC, birth_day';655 } else {656 $sql .= ' ORDER BY birth_year, birth_month, birth_day';657 }658 break;659 default :660 $is_order = false;661 662 }663 664 //降順指定665 if ($is_order && $type[1] == "2") {666 $sql .= ' DESC';667 }668 669 }670 // --- ソートオーダーここまで671 672 $ids = db_get_col($sql, $params);673 676 674 677 // --- ポイントで絞り込み ここから
Note: See TracChangeset
for help on using the changeset viewer.