채택완료

리스트 시간순서

안녕하세요

 

그누보드 4 사용하고 있습니다.

 

리스트배렬 최신시간순으로 하였습니다.

 

두개 혹은 세개 게시물 동일한 시간 과 초수 일때 리스트에서 배렬순서가 램덤으로 출력됩니다.

 

wr_datetime 시간 동일 할경우 wr_1 값에 1 , 2 , 3 번으로 수자를 집어 넣었습니다.

 

리스트에서 시간 동일할 경우 wr_1 값에 따라 1 , 2 , 3 순서대로 출력 되게 하려고 합니다.

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

수정한 모든 사항들은 원상태로 복구하고 아래처럼 하세요

adm/board_form.php에 보면 <리스트 정렬필드>라는 것이 잇습니다

맨끝에 추가한 후 게시판 설정에서 선택해주면 됩니다

<option value='wr_datetime desc,wr_1'>wr_datetime desc,wr_1 : 날짜 최근것 부터2

order by wr_datetime desc,wr_ir asc
sql문의 order by 절을 위처럼 해주시고 wr_1필드타입을 int형으로 바꿔주셔야합니다.

답변에 대한 댓글 3개

그누보드 4에서 bbs/list.php 문건에 order by 인가요?
bbs/list.php 문서엔 $sql_order = " order by $sst $sod "; 이렇게 되여있는데 맞으신지요
// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//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_link1_hit, wr_datetime, wr_num, wr_reply";
$sod = "";
}
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_link1_hit|wr_datetime|wr_hit|wr_good|wr_nogood|four_name)$/i", $sst) ? $sst : "";
}

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

if ($sca || $stx)
{
$sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
else
{
$sql = " select * from $write_table where wr_is_comment = 0 $sql_order limit $from_record, $board[bo_page_rows] ";
}
$result = sql_query($sql);


bbs/list.php 입니다.

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

🐛 버그신고