게시물 정렬 wr_7로 하기 왜이렇게 어렵나요..
본문
wr_7이 높은 순으로 배열하려고 하는데요
bo_table=0101&sop=and&sst=wr_7&sod=desc&sfl=&stx=&page=1 이렇게 짜서 넣었는데 안되어서
질문을 했습니다...
그랬더니
// 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (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 : "";
와 같은 부분이 있습니다.
기본 설정된 대상 필드가 아닐경우 반영을 안하는 부분입니다.
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
이 부분에 wr_7 필드를 추가해 주시면 됩니다.
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|wr_7)$/i", $sst) ? $sst :
저렇게 바꾸라고 하셔서 바꿨습니다..
그런데도 wr_7 순으로 배열은 안되고 코멘트 갯수 많은 순으로만 배열이 되네요 ... 어떻게 해야 wr_7 순으로 배열할 수 있나요??
답변 3
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|wr_7)$/i", $sst) ? $sst :
이 부분 아래에
if ($sst) {
$sql_order = " order by {$sst} {$sod} ";
}
위 구문이 있습니다.
echo $sql_order;
하셔서 쿼리문을 한번 찍어 보시는 게 좋을 것 같습니다.
질문에 남겨주신 방법이 맞는데, 않되신다니...
제대로 수정이 되셨는지 먼저 확인을 해보셔야 할 것 같습니다.
wr_7의 데이터 타입 때문에 그러시는 듯.
입력하신 것이 int 형인데
wr_7의 기본 데이터 타입은 varchar 입니다.
내림차순(DESC) 일경우
varchar 타입
20
111
순
int 타입
111
20
순입니다.