여분필드 추가 후 정렬 시 숫자 "0" 값 정렬에서 제외

여분필드 추가 후 정렬 시 숫자 "0" 값 정렬에서 제외

QA

여분필드 추가 후 정렬 시 숫자 "0" 값 정렬에서 제외

답변 1

본문

늘 좋은 소식 가득하시길 바랍니다.

 

sir 검색으로 찾지 못해서 문의드립니다.

 

게시판에 wr_11~wr_13(전세금, 보증금, 월세)까지 여분필드를 추가하여 금액을 입력할 수 있게 하였습니다.

 

리스트 목록에서 정렬 시 wr_11~wr_13까지 내림차순 정렬을 하였는데요.

 

위 여분필드 중 숫자 "0"값도 정렬이 되는데요.

전세금 0만원

보증금 1,000만원

월세 60만원

문제는 내림차순으로 정렬 시 0값 게시글이 먼저 보여지기 때문에 숫자 0값은 정렬에서 제외하고 싶습니다.


list.skin.php
 

<?php echo ($sst == 'wr_11') ? ' class="sort"' : '';?>> 
<?php echo subject_sort_link('wr_11', $qstr2, 1) ?> 전세금
<?php echo ($sst == 'wr_12') ? ' class="sort"' : '';?>> 
<?php echo subject_sort_link('wr_12', $qstr2, 1) ?> 보증금
<?php echo ($sst == 'wr_13') ? ' class="sort"' : '';?>> 
<?php echo subject_sort_link('wr_13', $qstr2, 1) ?> 월세
 

이 질문에 댓글 쓰기 :

답변 1

bbs/list.php에

// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst) {
    if ($board['bo_sort_field']) {
        $sst = $board['bo_sort_field'];
    } else {
        $sst  = "wr_num, wr_reply";
        $sod = "";
    }
} else {
    $board_sort_fields = get_board_sort_fields($board, 1);
    if (!$sod && array_key_exists($sst, $board_sort_fields)) {
        $sst = $board_sort_fields[$sst];
    } else {
        // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
        // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
        // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
        $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";

/*이 부분은 변경하셨을 겁니다. */
    }
}

if(!$sst)
    $sst  = "wr_num, wr_reply";

if ($sst) {

switch( $sst){

case 'wr_11':

case 'wr_12':

case 'wr_13':

    $sql_order = " order by if( {$sst}='0',1,0) ASC 0+{$sst}, {$sod} ";

default:
    $sql_order = " order by {$sst} {$sod} ";

}
}

 

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