채택완료

여분필드 정렬좀 도와주세요!

2016-03-19 (토) 20:08:52 5,775


d2595afa500a80b19fd350a6afc803e5_1458385569_1278.png

여분필드 wr_1에 조회순처럼

숫자정렬인데

왜이리 앙될까여?

이래저래 해보니 무슨정렬인지 모를정도로 정렬이 엉망이네여 

 

 

list.php파일에다가 

    $sst = preg_match("/^(wr_datetime|wr_hit|wr_1|wr_nogood)$/i", $sst) ? $sst : ""; 
wr_1을 추가로넣었고 



board_form.php에다가 <option value="wr_1+0 asc" <?php echo get_selected($board['bo_sort_field'], "wr_1+0 asc"); ?>>wr_1 : asc</option> 

넣어봤고요

 

뭘해야 정렬이 되는걸까요?

조큼만 어디에 어디넣어라 설명해주실분 

정렬 쓰시는분계시면 좀 알랴주세요 부탁함돠 

|

답변 2개 / 댓글 6개

채택된 답변
+20 포인트

정확히 원하시는게 뭔가요?

기본 정렬을 여분 필드로 정렬하고 싶은건가요.. 클릭해서 정렬하고 싶은건가요?

기본 정렬을 바꾸는 건 board_form.php 파일에서 추가하고

게시판 설정에서 추가한 걸로 선택하면 잘 됩니다. list.php 파일은 수정할 필요가 없습니다.

답변에 대한 댓글 5개

2016-03-19 (토) 20:38:57
아핫 제질문이 좀 부족했네요
클릭할때 정렬을 하고싶은겁니다
글자 클릭하면 리스트상에서 정렬되잖아여 그런거요 ㅜㅜ
기본정렬을 바꾸고 싶진않아요 ㅜㅜ
list.php 파일에서

if ($sst) {
$sql_order = " order by {$sst} {$sod} ";
}

여기를 이렇게 수정해보세요.

if ($sst) {
if ($sst == 'wr_1') {
$sql_order = " order by wr_1+0 {$sod} ";
} else {
$sql_order = " order by {$sst} {$sod} ";
}
}


아니면 저렇게 복잡하게 하지 말고 이렇게만 해도 되겠네요.

if ($sst) {
$sql_order = " order by {$sst}+0 {$sod} ";
}
아니면 이건 좀 다른 방법인데 숫자만 입력하는 용도라면
db 에서 wr_1 필드 타입 자체를 varchar(255) 에서 int 형으로 바꿔버리는 방법도 있습니다.
잘못된 부분이 있었네요. 위에 코멘트 답변 내용 수정했으니 다시 확인하세요.
2016-03-20 (일) 21:51:13
감사합니다 if ($sst) {
$sql_order = " order by {$sst}+0 {$sod} ";
}넣었더니 말끔히 해결되었습니다 제작기간 1년 줄어든 기분이네요 ㅎㅎ
2016-03-20 (일) 11:20:55

쿼리가 제대로 들어간다면 저게 정렬이 안 될 수 없을 겁니다.

/bbs/list.php 파일에 보시면 $sql = ~~~ 이렇게 된 게 있을 겁니다.

제일 마지막 $sql이 나오는 부분 바로 밑에 echo $sql 하셔서 그걸 phpmyadmin에서 실행해 보세요.

그러면 답이 나올 겁니다. 

답변에 대한 댓글 1개

2016-03-20 (일) 21:51:44
감사합니다 내공이 더 쌓일때 도전하겠습니다

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