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

게시판 정렬을 제 기준으로 할려면 어떻게 해야하죠? 채택완료

스니음 5년 전 조회 2,279

예를 들어 게시판에 wr_1 에는 날짜가 들어가고 "2020-01-01" 이런식으로

 

wr_2 에는 morning_1, lunch_1, dinner_1 이런식으로 3개중에 하나의 값이 들어갑니다.

 

나중에 리스트 정렬할때에는

 

일단 wr_1에 날짜순으로 1일 나오면 2일 나오는 순서대로 나오고

 

그 다음에 wr_2 의 아침,점심,저녁 순으로 정렬을 할려면 어떻게 해야 할까요?

 

ORDER BY FIELD(wr_2, 'morning%','lunch%', 'dinner%');

 

이런식으로 하면 될까 했는데 안되네요. 문제는 dinner_1 이런게 할때 끝에 숫자가 무작위라

 

 

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

답변 2개

채택된 답변
+20 포인트

mysql order by case를 사용하시면 될것 같네요.

 

여기 구글 검색한 참고 사이트 입니다

 

http://min-mo.blogspot.com/2017/11/mysql-orderby-case.html">http://min-mo.blogspot.com/2017/11/mysql-orderby-case.html

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

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

5년 전

/bbs/list.php 파일에서 수정해야 합니다.

 

// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;

if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
    /*
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
    $result = sql_query($sql);
    $total_count = sql_num_rows($result);
    */
} else {
    $sql_search = "";

    $total_count = $board['bo_count_write'];
}

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

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

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

로그인