Changeset 1913
- Timestamp:
- Feb 24, 2007, 12:36:25 PM (15 years ago)
- Location:
- OpenPNE/branches/prj_tuning
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
OpenPNE/branches/prj_tuning/webapp/lib/db/commu.php
r864 r1913 692 692 function db_commu_c_commu_topic_comment_list4c_member_id($c_member_id, $limit) 693 693 { 694 $sql = "SELECT cc.c_commu_topic_id, c.name AS c_commu_name, ct.name AS c_commu_topic_name , cm.c_member_id, cc.number, max(cc.r_datetime) as r_datetime"; 695 $sql .= " FROM c_commu_member AS cm, c_commu_topic_comment AS cc"; 696 $sql .= ", c_commu AS c, c_commu_topic AS ct"; 697 $sql .= " WHERE cm.c_member_id = ?"; 698 $sql .= " AND cc.c_commu_id=cm.c_commu_id"; 699 $sql .= " AND c.c_commu_id=cm.c_commu_id"; 700 $sql .= " AND ct.c_commu_id=cm.c_commu_id"; 701 $sql .= " AND ct.c_commu_topic_id=cc.c_commu_topic_id"; 702 $sql .= " GROUP BY c_commu_topic_id, c_commu_name, c_commu_topic_name ,c_member_id "; 703 $sql .= " ORDER BY r_datetime DESC"; 704 $params = array(intval($c_member_id)); 705 $c_commu_topic_list = db_get_all_limit($sql, 0, $limit, $params); 694 $sql = 'SELECT c_commu_id FROM c_commu_member WHERE c_member_id = ?'; 695 $c_commu_id_list = db_get_col($sql, array(intval($c_member_id))); 696 $ids = implode(", ", $c_commu_id_list); 697 698 $hint = db_mysql_hint('USE INDEX (r_datetime_c_commu_id)'); 699 $sql = 'SELECT c_commu_id, c_commu_topic_id, name AS c_commu_topic_name, r_datetime, c_member_id'. 700 ' FROM c_commu_topic'. $hint . ' WHERE c_commu_id IN (' . $ids . ') ORDER BY r_datetime DESC'; 701 $c_commu_topic_list = db_get_all_limit($sql, 0, $limit); 706 702 707 703 foreach ($c_commu_topic_list as $key => $value) { … … 715 711 $temp = db_get_row($sql, $params); 716 712 713 $sql = 'SELECT name AS c_commu_name FROM c_commu WHERE c_commu_id = ?'; 714 $c_commu_name = db_get_one($sql, $value['c_commu_id']); 715 717 716 //最新の書き込み番号 718 717 $number = db_commu_get_max_number4topic($value['c_commu_topic_id']); … … 722 721 $c_commu_topic_list[$key]['image_filename2'] = $temp['image_filename2']; 723 722 $c_commu_topic_list[$key]['image_filename3'] = $temp['image_filename3']; 723 $c_commu_topic_list[$key]['c_commu_name'] = $c_commu_name; 724 724 } 725 725 … … 729 729 function db_commu_c_commu_topic_comment_list4c_member_id_2($c_member_id, $limit,$page) 730 730 { 731 $sql = "SELECT cc.c_commu_topic_id, c.name AS c_commu_name, ct.name AS c_commu_topic_name , cm.c_member_id, cc.number, max(cc.r_datetime) as r_datetime"; 732 $sql .= " FROM c_commu_member AS cm, c_commu_topic_comment AS cc"; 733 $sql .= ", c_commu AS c, c_commu_topic AS ct"; 734 $sql .= " WHERE cm.c_member_id = ?"; 735 $sql .= " AND cc.c_commu_id=cm.c_commu_id"; 736 $sql .= " AND c.c_commu_id=cm.c_commu_id"; 737 $sql .= " AND ct.c_commu_id=cm.c_commu_id"; 738 $sql .= " AND ct.c_commu_topic_id=cc.c_commu_topic_id"; 739 $sql .= " group by c_commu_topic_id, c_commu_name, c_commu_topic_name ,c_member_id "; 740 $sql .= " ORDER BY r_datetime DESC"; 741 $params = array(intval($c_member_id)); 742 $c_commu_topic_list = db_get_all_limit($sql, ($page-1)*$limit, $limit, $params); 731 $sql = 'SELECT c_commu_id FROM c_commu_member WHERE c_member_id = ?'; 732 $c_commu_id_list = db_get_col($sql, array(intval($c_member_id))); 733 $ids = implode(", ", $c_commu_id_list); 734 735 $hint = db_mysql_hint('USE INDEX (r_datetime_c_commu_id)'); 736 $sql = 'SELECT c_commu_id, c_commu_topic_id, name AS c_commu_topic_name, r_datetime, c_member_id'. 737 ' FROM c_commu_topic'. $hint . ' WHERE c_commu_id IN (' . $ids . ') ORDER BY r_datetime DESC'; 738 $c_commu_topic_list = db_get_all_limit($sql, ($page-1)*$limit, $limit); 743 739 744 740 foreach ($c_commu_topic_list as $key => $value) { … … 752 748 $temp = db_get_row($sql, $params); 753 749 750 $sql = 'SELECT name AS c_commu_name FROM c_commu WHERE c_commu_id = ?'; 751 $c_commu_name = db_get_one($sql, $value['c_commu_id']); 752 754 753 //最新の書き込み番号 755 754 $number = db_commu_get_max_number4topic($value['c_commu_topic_id']); … … 759 758 $c_commu_topic_list[$key]['image_filename2'] = $temp['image_filename2']; 760 759 $c_commu_topic_list[$key]['image_filename3'] = $temp['image_filename3']; 760 $c_commu_topic_list[$key]['c_commu_name'] = $c_commu_name; 761 761 } 762 762 … … 1378 1378 function db_commu_c_commu_topic_comment_list4c_member_id_3($c_member_id, $page_size, $page) 1379 1379 { 1380 $sql = "SELECT cc.c_commu_topic_id, c.name AS c_commu_name, ct.name AS c_commu_topic_name , cm.c_member_id, cc.number, max(cc.r_datetime) as r_datetime"; 1381 $sql .= " FROM c_commu_member AS cm, c_commu_topic_comment AS cc"; 1382 $sql .= ", c_commu AS c, c_commu_topic AS ct"; 1383 $sql .= " WHERE cm.c_member_id = ?"; 1384 $sql .= " AND cc.c_commu_id = cm.c_commu_id"; 1385 $sql .= " AND c.c_commu_id = cm.c_commu_id"; 1386 $sql .= " AND ct.c_commu_id = cm.c_commu_id"; 1387 $sql .= " AND ct.c_commu_topic_id = cc.c_commu_topic_id"; 1388 $sql .= " group by c_commu_topic_id, c_commu_name, c_commu_topic_name ,c_member_id "; 1389 $sql .= " ORDER BY r_datetime DESC"; 1390 1391 $params = array(intval($c_member_id)); 1392 $c_commu_topic_list = db_get_all_page($sql, $page, $page_size, $params); 1380 $sql = 'SELECT c_commu_id FROM c_commu_member WHERE c_member_id = ?'; 1381 $c_commu_id_list = db_get_col($sql, array(intval($c_member_id))); 1382 $ids = implode(", ", $c_commu_id_list); 1383 1384 $hint = db_mysql_hint('USE INDEX (r_datetime_c_commu_id)'); 1385 $sql = 'SELECT c_commu_id, c_commu_topic_id, name AS c_commu_topic_name, r_datetime, c_member_id'. 1386 ' FROM c_commu_topic'. $hint . ' WHERE c_commu_id IN (' . $ids . ') ORDER BY r_datetime DESC'; 1387 $c_commu_topic_list = db_get_all_page($sql, $page, $page_size); 1393 1388 1394 1389 foreach ($c_commu_topic_list as $key => $value) { 1390 $sql = 'SELECT name AS c_commu_name FROM c_commu WHERE c_commu_id = ?'; 1391 $c_commu_name = db_get_one($sql, $value['c_commu_id']); 1392 1395 1393 $c_commu_topic_list[$key]['number'] = db_commu_get_max_number4topic($value['c_commu_topic_id']); 1394 $c_commu_topic_list[$key]['c_commu_name'] = $c_commu_name; 1396 1395 } 1397 1396
Note: See TracChangeset
for help on using the changeset viewer.