왜 순서대로 출력이 안 되는 걸까요? 채택완료
g5_menu 테이블
| me_id | me_code | me_name | me_link | me_target | me_order | me_use | me_mobile_use |
|---|---|---|---|---|---|---|---|
| 17 | 10 | 그룹1 | http://127.0.0.1/mw5/bbs/group.php?gr_id=G01" rel="nofollow noreferrer noopener" target="_blank">http://127.0.0.1/mw5/bbs/group.php?gr_id=G01 | self | 10 | 1 | 1 |
| 18 | 1010 | 소메뉴1 | http://127.0.0.1/mw5/bbs/board.php?bo_table=S01" rel="nofollow noreferrer noopener" target="_blank">http://127.0.0.1/mw5/bbs/board.php?bo_table=S01 | self | 1020 | 1 | 1 |
| 19 | 1020 | 소메뉴2 | http://127.0.0.1/mw5/bbs/board.php?bo_table=S02" rel="nofollow noreferrer noopener" target="_blank">http://127.0.0.1/mw5/bbs/board.php?bo_table=S02 | self | 1010 | 1 | 1 |
$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); }
위 결과값이
17 18 19 ...이렇게 순서대로 출력되지 않고,
왜 아래처럼 17 19 18 순으로 출력되는 걸까요?
Array ( [me_id] => 17 [me_code] => 10 [me_name] => 그룹1 [me_link] => http://127.0.0.1/mw5/bbs/group.php?gr_id=G01 [me_target] => self [me_order] => 10 [me_use] => 1 [me_mobile_use] => 1 ) 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 )
답변 2개
order by me_id asc; 이렇게 하시면요?
그누보드 소스를 보지 못해서, convert() 가 뭔지 잘 모르겠네여...
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
order by convert(me_order, char), me_id
이부분이 출력순서를 정하는 부분입니다.
1순위 : convert(me_order, char) // me_order 라는 필드가 현재 숫자형(int) 을 문자형(char) 으로 변경
2순위 : 만일 me_order 값이 같다면 me_id 값이 낮은게 먼저란 뜻입니다.
me_order 은 노출하는 순서를 지정하는 필드입니다.
관리자에서 해당 순서를 변경하시면 될꺼에요....
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인