채택완료

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

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

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

코드는 아래와 같습니다.

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

Copy
<?php
include_once("./_common.php");

include_once($board_skin_path."/sql.php");

$sql = " select
            *
          $sql_common
          $sql_search
          $sql_order";
$result = sql_query($sql, true);

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']}' ");
}

// 페이지 이동
goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table);
?>
|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
2020-12-25 (금) 23:50:09
Copy
// 아래 for문 안되면 sql_fetch_array 한번더 감싸서 배열로 뺀다음 카운트

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

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

}

 

foreach ($result as $key => $value) {

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

}

 

while($row = sql_fetch_array($result)) {

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

}

답변에 대한 댓글 1개

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

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