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

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

ㅡㅑㅜㅑ 4년 전 조회 1,467

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

 

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

 

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

 

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

 

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

전세금 0만원

보증금 1,000만원

월세 60만원

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

list.skin.php  

 전세금  보증금  월세  

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

답변 1개

채택된 답변
+20 포인트

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} ";

} }

 

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

답변에 대한 댓글 1개

ㅡㅑㅜㅑ
4년 전
감사합니다.

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

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

로그인