sql 반복문 안됩니다

sql 반복문 안됩니다

QA

sql 반복문 안됩니다

본문

반복문을 하나만 실행 하면 되는데요 2개를 다실행하면 안됩니다.. 왜그런지??
아시면 답변좀 부탁 드립니다.

하나씩 각 각 실행 하면 됩니다
while($rss=sql_fetch_array($result)) {
      $arr[]= $rss['wr_id'];
      }
$hap18 = implode(',',$arr) ;
$response->hap18 = $hap18;

while($rs=sql_fetch_array($result)) {
// 열람가능 여부
if(check_id($rs) == false) {
$reper = "열람불가";
$cls = "txt_gray";
} else {
$reper = "열람가능";
$cls = "txt_blue";
}
///$sss = check_id($rs);
//print_r2($sss);

$comment_cnt = ($rs['wr_comment']>0)? " (<span style='color:red;'>".$rs['wr_comment']."</span>)":"";

$response->rows[$i]['num'] = $num;
$response->rows[$i]['wr_id'] = $rs['wr_id'];
$response->rows[$i]['ca_name'] = $rs['ca_name'];
$response->rows[$i]['wr_subject'] = $rs['wr_subject'].$rs['wr_18'];
$response->rows[$i]['wr_name'] = mb_name($rs['mb_id']);
$response->rows[$i]['wr_datetime'] = $rs['wr_datetime'];
$response->rows[$i]['wr_3'] = approval($rs['wr_2'], $rs['wr_3']);
$response->rows[$i]['wr_5'] = approval($rs['wr_4'], $rs['wr_5']);
$response->rows[$i]['wr_7'] = approval($rs['wr_6'], $rs['wr_7']);
$response->rows[$i]['wr_9'] = approval($rs['wr_8'], $rs['wr_9']);
$response->rows[$i]['wr_10'] = $rs['wr_10'];
$response->rows[$i]['view'] = "<span class='{$cls}'>{$reper}</span>";
$response->rows[$i]['edit'] = ($member['mb_id']==$rs['mb_id']) ? "true" : "false";
$response->rows[$i]['href'] = get_pretty_url($bo_table, $rs['wr_id'], $qstr);

$num--;
$i++;
}

echo json_encode($response);

이 질문에 댓글 쓰기 :

답변 3

$result 의 값이 증가되어서 그렇습니다.

 

database의 table 의 값에는 행번호의 순서가 있습니다.

행번호(숨어있음)   id    name    value 

    0                   aa    홍길동   의적

    1                   bb    이순신   장군

    2                   cc     강감찬   장군

   ...

이런값이 있다고 가정하면

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

}

로 반복될때

sql_fetch_array($result)에는 묵시적으로 $result의 행번호는 순차적으로 증가합니다.

 

즉, $result는 행번호를 가르키는 포인터정보가 들어가 있는것이라고 보면됩니다.

반복이 끝났을때 $result는 맨 마지막 Row정보가 들어가 있게되기때문에

 

$result의 값을 처음으로 돌려놔야 합니다.

혹은 새로운 값으로 재할당해야 다시금 반복이 가능합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 720
QA 내용 검색
filter #sql ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT