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'];
}
답변에 대한 댓글 2개
덕분에 새벽동안 끙끙 앓던 문제를 해결해 너무 기분 좋네요. 좋은 하루 되세요.
댓글을 작성하려면 로그인이 필요합니다.
$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);
}
이렇게 이루어져야 합니다.
답변에 대한 댓글 1개
나중에 요긴하게 써먹을 수 있는 팁 같네요. ^^
댓글을 작성하려면 로그인이 필요합니다.
$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);
}
답변에 대한 댓글 1개
왜 저 붉은 라인이 추가될수록 배열이 하나씩 사라지는 건가요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
근데, 제가 아래처럼 코드를 넣어보니까, 그룹 메뉴 정보는 안 뜨네요.
해당 테이블엔 그룹까지 포함해 메뉴가 3개거든요. (https://sir.kr/qa/252883 하단 참고)
$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);
}
위처럼 해주니까, 그룹 메뉴는 안 나타나고, 소메뉴만 나타나네요. (for문도 마찬가지)
그룹까지 나오게 하려면 어떻게 해야 하는지?
■ sql_fetch_array($qry)) 결과값
Array
(
[me_id] => 19
[me_code] => 1020
[me_name] => 소메뉴2
[me_link] => http://127.0.0.1/mw5/bbs/board.php?bo_table=S02
[me_target] => self
[me_order] => 1010
[me_use] => 1
[me_mobile_use] => 1
)
Array
(
[me_id] => 18
[me_code] => 1010
[me_name] => 소메뉴1
[me_link] => http://127.0.0.1/mw5/bbs/board.php?bo_table=S01
[me_target] => self
[me_order] => 1020
[me_use] => 1
[me_mobile_use] => 1
)