테스트 사이트 - 개발 중인 베타 버전입니다

SQL문 질문 입니다. 채택완료

스노우맨3 2년 전 조회 2,011

아래 쿼리문으로 테이블에서 강사명(시설명)(rm_ix)과 강의시작시간 정보를 가져와서 테이블에 표시 해주려고 합니다.

그런데 시간순으로 정렬 안됩니다.ㅠ.ㅠ

혹시 뭐가 잘못되었는지 알려 주시면 감사 하겠습니다.

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시
===============
식으로 출력됩니다....뭐를 잘못한걸까요? 고견 부탁 드리겠습니다. 꾸벅~

아래는 테이블과 코드입니다.

</strong></p>

<p>// 시간정보

    $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;

    }

    </p>

<p><strong>

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

데이터() 출력하는 부분 소스도 올려 보시겠어요.

아니면 while loop다음에

Print_r( $arr_room);

해서 순서를 확인해 보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

스노우맨3
2년 전
결국은 제작하신분에게 의뢰하여 해결하였습니다..
관심 가져주셔서 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

order by DATE_FORMAT(  time_only ,  '%Y%m%d%H%i%s'  ) asc

 

정렬 부분을 이렇게 한번 해보시겠어요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

일단 order by 에서는 DATE_FORMAT 적용된 alias를 쓰실 필요 없을거 같고요

쿼리만 보았을 땐 날짜값 범위만 있고 정렬 기준은 없어보이는데 between 날짜값에 30일 하루만 넣어도 결과가 같으신가요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

스노우맨3
2년 전
결국은 제작하신분에게 의뢰하여 해결하였습니다..
관심 가져주셔서 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인