for문 변수에 값이 안들어 갑니다...

for문 변수에 값이 안들어 갑니다...

QA

for문 변수에 값이 안들어 갑니다...

본문

그누보드5 입니다.

 


    $j_sql = "select * from board limit 1, 5";
    $result = sql_query($j_sql);
    $j_row = sql_fetch_array($result);
    if($j_row) {    // 조회결과가 있을때 보여주기
    for ($j=0; $j < $list_cnt; $j++) {
        $wr_id = $j_row[$j]['wr_id'];
        $wr_subject = $j_row[$j]['wr_subject'];
    
        echo $wr_subject."<br>";
    }

 

for 문 돌리면 5개 행이 나와야 하는데 왜 안나올까요?

$wr_subject 값이 안찍히네요....ㅠㅠ

이 질문에 댓글 쓰기 :

답변 3


$j_sql = "select * from board limit 1, 5";
$result = sql_query($j_sql);
for ($j=0; $j_row=sql_fetch_array($result); $j++) {
        $wr_id = $j_row['wr_id'];
        $wr_subject = $j_row['wr_subject'];
    
        echo $wr_subject."<br>";
}

$result = sql_query($j_sql);
$j_row = sql_fetch_array($result);

여기에서 그누보드의 sql_fetch_array 함수는 mysqli_fetch_assoc() 함수로
결과값 $result에서 한행을 얻는 겁니다.

때문에 위와 같이 하게 되면, $result 에 5개의 결과 값이 담겨 있다고 하더라도,
$j_row에는 한행(첫번째 행)의 결과만 담기게 됩니다.

만약 sql_query 로 가져온 $result의 전체 갯수를 알고 싶다면
$count = $result->num_rows 하면 됩니다.

아 네...

sql_fetch_array
이 함수의 사용이 잘 못 된것인가요?

그리고 $wr_subject = $j_row[$j]['wr_subject']; 이렇게 2중 배열로 사용하는건 틀린 표현이네요?
다른 페이지에서는 이렇게 사용을 했었거든요..

질문이 많아 죄송합니다.ㅠㅠ


<?php
    $j_sql = "select * from board limit 1, 5";
    $result = sql_query($j_sql);
    $j_row = sql_fetch_array($result);
    if ($j_row) {    // 조회결과가 있을 때 보여주기
        $list_cnt = 5; // 예시로 5로 설정
        for ($j = 0; $j < $list_cnt; $j++) {
            $wr_id = $j_row[$j]['wr_id'];
            $wr_subject = $j_row[$j]['wr_subject'];
    
            echo $wr_subject."<br>";
        }
    }
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 60,954
QA 내용 검색

회원로그인

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