쿼리문 질문 입니다.

쿼리문 질문 입니다.

QA

쿼리문 질문 입니다.

답변 3

본문

아래 쿼리문으로 테이블에서 시설명(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;
    }

아래는 테이블 입니다.

2582627467_1679958259.4399.png

이 질문에 댓글 쓰기 :

답변 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, time_only도 시도해 보았습니다만 결과값이 아에 나오질 않습니다.
rm_ix는 강사명이고 위의 time테이블에서 날자와 시간정보를 가져와 정렬해야하는데 예를들어
A강사와 B강사가 있고 강의시간이 A강사의 강의시간이 10시-11시 16시-17시 이고 B강사의
강의시간이 14시-15시라면
주간일정표의 날자에는
===============
A강사  10시-11시
B강사  14시-15시
A강사  16시-17시
===============
이러케 출력되야 하는데
===============
A강사  10시-11시
A강사  16시-17시
B강사  14시-15시
===============
식으로 출력됩니다....뭐를 잘못한걸까요? 고겾 부탁 드리겠습니다. 꾸벅~

ORDER BY rmt_date ASC, rmt_time ASC 

이렇게 하셔야 할것 같네요. 

위 구조상으로는 날짜 rmt_date 를 먼저 asc 로 정렬하고, rmt_time(time_only) asc로 정렬해서 불러오는게 원하시는 정렬방식으로 불러오는게 맞는듯 한데요. 일단 $row2의 값을 한번 찍어서 확인해 보시는게 좋을듯 합니다.

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 변수 충돌은 없는지 확인해 보세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 128
© SIRSOFT
현재 페이지 제일 처음으로