board_good 테이블에 member_id 라는 필드를 추가해서 자신이 추천을 누른 글의 작성자를 표기하도록 만들었어요.
이걸 토대로 자신이 추천을 누른 작성자의 모든글을 최신글로 추출하려고해요.
Copy
$tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름 $sql = " select * from {$g5['board_good_table']} where mb_id = '$mb[mb_id]' "; $result = sql_query($sql); $row = sql_fetch($sql); $sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and mb_id = '{$row[member_id]}' order by wr_num limit 0, {$rows} "; $result = sql_query($sql); for ($i=0; $row = sql_fetch_array($result); $i++) { $list[$i] = get_list($row, $board, $latest_skin_url, $subject_len); } if($cache_fwrite) { $handle = fopen($cache_file, 'w'); $cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject='".$bo_subject."';\n\$list=".var_export($list, true)."?>"; fwrite($handle, $cache_content); fclose($handle); } }
최신글 소스를 이렇게 구성했는데.
가장 첫번째에 있는 member_id인 test의 모든글만 추출이 되더라구요.. 저 내역을 지우면 바로 밑에있는 ooo의 모든글이 추출되구요..
자신이 추천을 누른 모든 작성자의 모든글을 추출하는 방법좀 알려주세요..ㅠㅠ
한마디로 자신을 충족한 모든 member_id를 구하는 방법좀...
|
답변 1개 / 댓글 4개
채택된 답변
+20 포인트
2016-06-14 (화) 21:36:19
for 반복문을 이중으로 돌리셔야 합니다.
$sql = " select * from {$g5['board_good_table']} where mb_id = '$mb[mb_id]' ";
$result = sql_query($sql);
$row = sql_fetch($sql);
에서
$row = sql_fetch($sql);
부분을 삭제하고 이 부분에서 for 반복문을 추가하셔야 합니다.
답변에 대한 댓글 4개
2016-06-14 (화) 21:43:55
2016-06-14 (화) 21:48:17
$i 변수는 카운터증가값으로 사용하시면 안되지요. 아래 for 반복문에서 사용하고 있으니까요.
$x 등으로 하세요.
$x 등으로 하세요.
2016-06-14 (화) 23:14:23
너무어렵네요..ㅠㅠ
for ($x=0; $row = sql_fetch_array($result); $x++)
이런식으로했는데 이번엔 가장 아랫사람부터 나오네요..
for ($x=0; $row = sql_fetch_array($result); $x++)
이런식으로했는데 이번엔 가장 아랫사람부터 나오네요..
2016-06-15 (수) 00:31:28
가장 아랫사람이요? 정렬이 문제라면
$sql = " select * from {$g5['board_good_table']} where mb_id = '$mb[mb_id]' ";
위 쿼리에서 sort 해주시면 됩니다. order by ~~~
$sql = " select * from {$g5['board_good_table']} where mb_id = '$mb[mb_id]' ";
위 쿼리에서 sort 해주시면 됩니다. order by ~~~
답변을 작성하려면 로그인이 필요합니다.
for ($i=0; $row = sql_fetch_array($result); $i++)
이렇게 추가했는데 아무 변화가 없어서요 ㅠㅠ..