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

for문 변수에 값이 안들어 갑니다... 채택완료

강력드라이브 2년 전 조회 1,349

그누보드5 입니다.

 

</p>

<p>    $j_sql = "select * from board limit 1, 5";</p>

<p>    $result = sql_query($j_sql);

    $j_row = sql_fetch_array($result);</p>

<p>    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."
";

    }</p>

<p>

 

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

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

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

답변 3개

채택된 답변
+20 포인트
2년 전

</p>

<p>$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."
";

}</p>

<p>

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

답변에 대한 댓글 3개

강력드라이브
2년 전
답변 감사드립니다~ ^^


1. $wr_id = $j_row['wr_id'];

2. $wr_id = $j_row[$j]['wr_id'];

변수를 잘못쓴거네요..
그런데 1번, 2번 차이가 뭔지요?
메이드
2년 전
$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 하면 됩니다.
강력드라이브
2년 전
아 네...

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

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

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

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

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

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

들레아빠

</p>

<p><?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로 설정</p>

<p>        for ($j = 0; $j < $list_cnt; $j++) {

            $wr_id = $j_row[$j]['wr_id'];

            $wr_subject = $j_row[$j]['wr_subject'];

    

            echo $wr_subject."
";

        }

    }

?>

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

답변에 대한 댓글 1개

강력드라이브
2년 전
답변 감사드립니다^^

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

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

로그인