sql_fetch_array($sql) 결과값을 출력하려면?
관련링크
본문
https://sir.kr/qa/252883 질문에서,
sql_query($sql) 결과값과 sql_fetch($sql) 결과값은 print_r2 함수를 이용해 쉽게 출력했는데,
sql_fetch_array($sql) 결과값은 어떻게 출력시켜야 할지 잘 모르겠네요.
즉, 아래 식에서 $row 값을 출력시키고 싶습니다.
for나 white 등 반복문을 이용한다는데.....어떻게 하는건지?
$sql = " select * ";
$sql.= " from {$g5['menu_table']} ";
$sql.= " order by convert(me_order, char), me_id ";
$qry = sql_query($sql);
$row=sql_fetch_array($qry);
답변 3
$sql = " select * ";
$sql.= " from {$g5['menu_table']} ";
$sql.= " order by convert(me_order, char), me_id ";
$qry = sql_query($sql);
1. while
while ($row = sql_fetch_array($qry)) {
echo $row['me_name'];
}
2. for
for ($i=0; $row=sql_fetch_array($qry); $i++) {
echo $row['me_name'];
}
$sql = " select * ";
$sql.= " from {$g5['menu_table']} ";
$sql.= " order by convert(me_order, char), me_id ";
$qry = sql_query($sql);
$row = sql_fetch_array($qry); // 이부분 삭제
while ($row = sql_fetch_array($qry)) {
print_r2($row);
}
$row = sql_fetch_array($qry); 은 $qry을 배열로 받는 것입니다.
배열로 받은 상태에서 다시 while 문으로 배열을 루프시키면 첫번째 내용을 제외한게 루프됩니다.
쉽게 설명드리자면
데이터가 3개가 있다면 배열은 0,1,2 이런식으로 됩니다.
$row = sql_fetch_array($qry); // 0 으로 생각하세요
while ($row = sql_fetch_array($qry)) { // 1~2
print_r2($row);
}
때문에 위의 구문에 $row = sql_fetch_array($qry); 는 잘못된 사항이므로 없애야 합니다.
$sql = " select * ";
$sql.= " from {$g5['menu_table']} ";
$sql.= " order by convert(me_order, char), me_id ";
$qry = sql_query($sql);
while ($row = sql_fetch_array($qry)) {
print_r2($row);
}
이렇게 이루어져야 합니다.