sql 반복문 안됩니다

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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의 값을 처음으로 돌려놔야 합니다.

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

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

회원로그인

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