테스트 사이트 - 개발 중인 베타 버전입니다

for 반복문에 대해 도와주세요 ㅠㅠ 채택완료

툥이 9년 전 조회 3,365

</p><p>$tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$sql = " select * from {$g5['board_good_table']} where mb_id = '{$mb[mb_id]}' ";</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$result = sql_query($sql);</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>for ($x=0; $row = sql_fetch_array($result); $x++)</p><p><span class="Apple-tab-span" style="white-space:pre">			</span></p><p>        $sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and mb_id = '{$row['member_id']}' order by wr_num limit 0, {$rows} ";</p><p>        $result = sql_query($sql);</p><p>        for ($i=0; $row = sql_fetch_array($result); $i++) {</p><p>            $list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);</p><p>        }</p><p>

 

자신이 추천을 한 글의 작성자를 모두 불러와서 그 작성자들의 모든글을 최신글에 노출시키려고해요..

그 작성자들을 불러오는 과정에 for문에서 막혔는데

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

이렇게 하면 자신이 추천한 가장 최신의 1명만 나오고

$row = sql_fetch_array($result); 이런식으로 for문을 쓰지않으면 가장 오래된 1명만 나와요.. 

 

모두 불러내는 방법이 어떻게 될까요 ... 도움주시면 감사하겠습니다..

board_good_table에 member_id 필드를 추가해서 추천을 한 글의 작성자를 입력하게끔 했어요..!

 

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

답변 1개

채택된 답변
+20 포인트
9년 전

php 문법을 아시리라 생각하고 아까 답변을 드렸는데.. 문법을 모르시나보네요.

위 구문에서 반복이 정상적으로 이뤄지려면 아래와 같이 for 구문을 {} 중괄호로 감싸줘야 그 하단의 두번째 for 문에 한개의 값이 아닌 반복적으로 다음값들이 넘어가게 됩니다. 

for ($x=0; $row = sql_fetch_array($result); $x++) {
			
        $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);
        }

}
로그인 후 평가할 수 있습니다

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

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

로그인