쿼리문 질문 입니다.
본문
아래 쿼리문으로 테이블에서 시설명(rm_ix)과 예약시간을 가져와서 테이블에 표시 해주려고 합니다.
그런데 시간순으로 정렬이 안되는거 같습니다.
혹시 뭐가 잘못되었는지 알려 주시면 감사 하겠습니다.
// 시간정보
$query2 = " select DATE_FORMAT(rmt_time, '%H:%i') AS time_only,rmt_ix, rmt_time_end, rmt_max_cnt, rmt_date from {$g5['wzb_room_time_table']} where rm_ix = '".$row['rm_ix']."' and (rmt_date between '".$sch_date_fr."' and '".$sch_date_to."') order by time_only asc";
$res2 = sql_query($query2);
while($row2 = sql_fetch_array($res2)) {
$row['rmt_ix'] = $row2['rmt_ix'];
$row['frtime'] = $row2['time_only'];
$row['totime'] = $row2['rmt_time_end'];
$row['max_cnt'] = $row2['rmt_max_cnt'];
$arr_room[$row2['rmt_date']][$row2['time_only']][] = $row;
}
아래는 테이블 입니다.
!-->답변 3
시간순으로 정렬이 안되는거 같습니다....
...
$arr_room[$row2['rmt_date']][$row2['time_only']][] = $row;
==
정렬이 안 되는 증상을 설명해 주시면 좋겠네요.
보니
$arr_room[$row2['rmt_date']]
날짜 안에서 다시 시간 순으로 하시려는 것 같은데, 그렇다면
order by rmt_date ASC, time_only
이렇게 해야 하지 않을까요?
ORDER BY rmt_date ASC, rmt_time ASC
이렇게 하셔야 할것 같네요.
while($row2 = sql_fetch_array($res2)) {
//$row['rmt_ix'] = $row2['rmt_ix'];
//$row['frtime'] = $row2['time_only'];
//$row['totime'] = $row2['rmt_time_end'];
//$row['max_cnt'] = $row2['rmt_max_cnt'];
$arr_room[$row2['rmt_date']][$row2['time_only']][] = $row2;
}
올리신 소스가 너무 제한적이라...
$row 변수 충돌은 없는지 확인해 보세요.
답변을 작성하시기 전에 로그인 해주세요.