여분필드 추가 후 정렬 시 숫자 "0" 값 정렬에서 제외
본문
늘 좋은 소식 가득하시길 바랍니다.
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} ";
}
}