2026, 새로운 도약을 시작합니다.

[그누보드] 게시판 list페이지 정렬하기 채택완료

안녕하세요!!

현재 진행률을 클릭했을때 80%, 60%, 40%, 20%, 100%, 0% 이렇게 정렬되고 있습니다 ㅠㅠ

% 때문에 안 되고 있는걸까요.. 도와주세요 고수님들 ㅠㅠ

skin/list.skin.php

Copy
<th scope="col"><?=subject_sort_link('wr_6', $qstr2, 1)?>진행률</th>

bbs/list.php

Copy
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|wr_4|wr_6)$/i", $sst) ? $sst : "";
    }
}

if(!$sst)
    $sst  = "wr_num, wr_reply";

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

if($bo_table == "making" || $bo_table == "made" || $bo_table == "as"){
    if(!strstr($sst,"wr_datetime")){
        $sql_order = " order by wr_modify_datetime desc, $sst $sod ";
    }
    if($sst == ""){
        $sql_order = " order by wr_modify_datetime desc";
    }
}

if($_GET['sst'] == "wr_6"){
   $sql_order = " order by wr_6+0 desc, wr_modify_datetime desc";
}

답변 1개

채택된 답변
+20 포인트

ORDER BY CAST(wr_6 AS SIGNED) DESC;

으로 바꾸시면 됩니다.

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

답변에 대한 댓글 1개

안녕하세요!! 답변 감사합니다!!
bbs/list.php
if($_GET['sst'] == "wr_6"){
$sql_order = " order by wr_6+0 desc, wr_modify_datetime desc";
}
->
if($_GET['sst'] == "wr_6"){
$sql_order = " ORDER BY CAST(wr_6 AS SIGNED) DESC";
}
으로 변경 했는데도 100%가 상단으로 안 올라옵니다 ㅠㅠ

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

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

로그인
🐛 버그신고