채택완료

sql 관해 질문좀 ..ㅠㅠ 급해요 도와주세요!

2016-06-14 (화) 21:25:37 5,265

board_good 테이블에 member_id 라는 필드를 추가해서 자신이 추천을 누른 글의 작성자를 표기하도록 만들었어요.

ceb1d9a1690ce8b3465e020540ef9fda_1465906961_9195.PNG
 

이걸 토대로 자신이 추천을 누른 작성자의 모든글을 최신글로 추출하려고해요.

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);        }    }

최신글 소스를 이렇게 구성했는데.

ceb1d9a1690ce8b3465e020540ef9fda_1465907035_4394.PNG

가장 첫번째에 있는 member_id인 test의 모든글만 추출이 되더라구요.. 저 내역을 지우면 바로 밑에있는 ooo의 모든글이 추출되구요..

자신이 추천을 누른 모든 작성자의 모든글을 추출하는 방법좀 알려주세요..ㅠㅠ

한마디로 자신을 충족한 모든 member_id를 구하는 방법좀...
|

답변 1개 / 댓글 4개

채택된 답변
+20 포인트

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개

어떤식으로 추가하면 될까요..?

for ($i=0; $row = sql_fetch_array($result); $i++)

이렇게 추가했는데 아무 변화가 없어서요 ㅠㅠ..
$i 변수는 카운터증가값으로 사용하시면 안되지요. 아래 for 반복문에서 사용하고 있으니까요.
$x 등으로 하세요.
너무어렵네요..ㅠㅠ
for ($x=0; $row = sql_fetch_array($result); $x++)
이런식으로했는데 이번엔 가장 아랫사람부터 나오네요..
가장 아랫사람이요? 정렬이 문제라면
$sql = " select * from {$g5['board_good_table']} where mb_id = '$mb[mb_id]' ";
위 쿼리에서 sort 해주시면 됩니다. order by ~~~

답변을 작성하려면 로그인이 필요합니다.