등록일자별로 정렬하기 > 그누3질답

그누3질답

등록일자별로 정렬하기 정보

그누보드 등록일자별로 정렬하기

본문

<?=subject_sort_link('wr_datetime', $qstr2)?>등록일자로 정렬</a>
<?=subject_sort_link('wr_link1_hit', $qstr2)?>클릭순으로 정렬</a>

gnu3.xx 게시판의 게시물 리스트 보기에서 소스를 수정하지 않은 상태에서
'등록일자로 정렬'을 클릭하게 되면 먼저 등록된 (등록된지 오래된) 게시물부터 보여지고
다시 클릭했을 때 최근의 게시물이 보여집니다.

또 '클릭순으로 정렬'을 클릭하게 되면 클릭수가 적은 게시물부터 보여지고
다시 클릭했을 때 클릭수가 많은 게시물이 보여집니다.

이것을 반대로 정렬하려고 하면 어떻게 수정해줘야 하는지 고수님들의 도움을 기다립니다.
  • 복사

댓글 전체

루트님 감사인사가 너무 늦었습니다.
루트님이 말씀하신데로 gnu/lib/gnuboard.lib.php 파일의 설정을 바구어 보았습니다.

// 3.35
// 날짜, 조회수의 경우 높은 순서대로 보여져야 하므로 $flag 를 추가
// $flag : asc 낮은 순서 , desc 높은 순서
// 제목별로 컬럼 정렬하는 QUERY STRING
function subject_sort_link($col, $query_string="", $flag="asc")
{
global $ssort, $sorder, $sselect, $stext, $page, $doc;
global $_SERVER;

$q1 = "ssort=$col";
if ($flag == "asc") {
$q2 = "sorder=asc";
if ($ssort == $col) {
if ($sorder == "asc") {
$q2 = "sorder=desc";
}
}
} else {
$q2 = "sorder=desc";
if ($ssort == $col) {
if ($sorder == "desc") {
$q2 = "sorder=asc";
}
}
}


이부분 쯤에서
sorder=asc를
sorder=desc로 바꾸어 보았을 때
클릭수가 많거나 최근의 글이 우선으로 정렬은 됩니다.

그러나 다시 클릭했을 때 역으로의 정렬이 되지 않는 문제가 있는것 같습니다.
또 글번호나 타이틀 글작성자도 역으로 정렬되는 문제가 해결이 안됩니다.
좀더 살펴본 담에 원하는데로 되면 글올리겠습니다.

다시한번 감사의 말씀을 드립니다.
$qstr2에 들어가는 값중에서 sorder라는 항목이 들어가는데 이것인 아마 초기 asc로 다음처럼 설정되어있을것입니다.
이것을 desc로 변경하시면 역순으로 정렬됩니다.
초기값 : sorder=asc
변경적용 : sorder=desc
© SIRSOFT
현재 페이지 제일 처음으로