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

for문이 한번만 실행되고 반복이 안됩니다. 채택완료

smt4u 4년 전 조회 2,113

특정 조건의 자료를 일괄변경을 할려고 하는데 잘 안됩니다.

게시판 스킨 폴더에 change.php 만들었는데 한번만 실행되고 반복이 되지 않습니다.

코드는 아래와 같습니다.

어디가 잘못 된걸까요? $i 값을 출력 해보면 정상적으로 실행은 되는거 같은데 잘 모르겠네요 ㅠ

 

 

</p>

<p><?php

include_once("./_common.php");</p>

<p>include_once($board_skin_path."/sql.php");</p>

<p>$sql = " select

            *

          $sql_common

          $sql_search

          $sql_order";

$result = sql_query($sql, true);</p>

<p>for($i=0; $row=sql_fetch_array($result); $i++) {

    $from = "g5_write_".$bo_table;

    sql_query(" update $from set wr_9 = '$wr_9' where wr_id = '{$row['wr_id']}' ");

}</p>

<p>// 페이지 이동

goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table);

?></p>

<p>

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

답변 1개

채택된 답변
+20 포인트
검은냥냥이

</p>

<p>// 아래 for문 안되면 sql_fetch_array 한번더 감싸서 배열로 뺀다음 카운트</p>

<p>for ($i=0; $i<count($result); $i++) { </p>

<p>    sql_query("UPDATE g5_write_{$bo_table} SET wr_9 = '{$wr_9}' where wr_id = '{$result[$i]['wr_id']}'");</p>

<p>}</p>

<p> </p>

<p>foreach ($result as $key => $value) {</p>

<p>    sql_query("UPDATE g5_write_{$bo_table} SET wr_9 = '{$wr_9}' where wr_id = '{$value['wr_id']}'");</p>

<p>}</p>

<p> </p>

<p>while($row = sql_fetch_array($result)) {</p>

<p>    sql_query("UPDATE g5_write_{$bo_table} SET wr_9 = '{$wr_9}' where wr_id = '{$row['wr_id']}'");</p>

<p>}</p>

<p>

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

답변에 대한 댓글 1개

s
smt4u
4년 전
감사합니다. while 이랑 for는 안되는데 foreach 로 하니깐 바로되네요 ^^

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

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

로그인