게시판 sort할때 질문 드립니다.
본문
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=74
이 게시글 보고 따라 했구요
아래 부분에 wr_1 을 추가합니다.
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|wr_1)$/i", $sst) ? $sst : "";
수정하고 확인하면 처음에 말했던 것처럼 문자형이라서 정렬이 안 맞을 겁니다.
여기도 마찬가지 방법으로 수정합니다.
list.php 파일에서 위 내용 좀 더 아래에 있는 sql_order 부분을 이렇게 변경합니다.
if ($sst) {
if ($sst == 'wr_1') {
$sql_order = " order by wr_1+0 {$sod} ";
} else {
$sql_order = " order by {$sst} {$sod} ";
}
}
소트는 잘 됩니다.
소트할때 주소창에 &stx3=D 이걸 추가로 넣고 싶은데 어떻게 해야 할지 궁금합니다.
!-->답변 3
sorting 할 기준은
bbs/list.php 중 다음 처럼 (게시판 설정에서) 지정한 컬럼만 사용할 수 있습니다.
if (!$sst) {
...
} 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($stx == "D") {
.....
}
무슨 용도로 사용하시는지 몰라 정확한 답변은 어렵지만
정렬이든 검색이든 URL 끝에 붙이고 싶으신 거라면
form 에서 값을 넘길때 form 내부에서
<input type="hidden" name="stx3" value="D">
인풋을 생성하시면 넘어갈때 URL 에 붙을겁니다.