답변 2개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
7년 전
/lib/latest.lib.php 의 latest() 함수 내의 sql 문에서
order by wr_num -> order by wr_good desc
로 수정하면 추천순이 됩니다.
최근 2달 이내의 글은,
where 조건에
wr_datetime > DATE_SUB(NOW(), INTERVAL 2 MONTH)
조건을 추가해주면 됩니다.
</p>
<p>$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and wr_datetime > date_sub(now(), interval 2 month) order by wr_good desc limit 0, {$rows} ";</p>
<p>
latest() 함수를 직접 이렇게 고치거나,
latest() 함수를 복사 해당부분만 고친후 함수명을 latest2() 등으로 변경하여 사용하면 될 듯 합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
별그림
7년 전
�
마르스컴퍼니
7년 전
기간 설정이 안된다는 얘기는 어떤 얘기인지 잘 모르겠습니다.
최근 두달 이내는 date_sub(now(), interval 2 month)
세달 이내는 date_sub(now(), interval 3 month)
..
식으로 해주시면 됩니다.
추천수가 많은 것이 중간에 나오는 것과..
date_sub(now(), interval 12 month) 로 변경해도 1달 정도밖에 안나오는 것은..
왜 그런지.. 잘 모르겠습니다.
제가 실제 테스트를 진행한 것은 아니어서,
잘못된 부분이 있을수 있습니다.
1차적으로는, sql 문 다음에 echo 문을 사용해서..
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and wr_datetime > date_sub(now(), interval 2 month) order by wr_good desc limit 0, {$rows} ";
echo $sql;
해당 sql 문을 직접 db 툴(phpmyadmin) 에서 실행하여,
쿼리상으로는 제대로 나오는지 점검해볼 수 있습니다.
그래도 문제가 계속된다면,
새로 질문글을 올리는 것도 방법이 될 수 있을 것 같습니다.
최근 두달 이내는 date_sub(now(), interval 2 month)
세달 이내는 date_sub(now(), interval 3 month)
..
식으로 해주시면 됩니다.
추천수가 많은 것이 중간에 나오는 것과..
date_sub(now(), interval 12 month) 로 변경해도 1달 정도밖에 안나오는 것은..
왜 그런지.. 잘 모르겠습니다.
제가 실제 테스트를 진행한 것은 아니어서,
잘못된 부분이 있을수 있습니다.
1차적으로는, sql 문 다음에 echo 문을 사용해서..
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and wr_datetime > date_sub(now(), interval 2 month) order by wr_good desc limit 0, {$rows} ";
echo $sql;
해당 sql 문을 직접 db 툴(phpmyadmin) 에서 실행하여,
쿼리상으로는 제대로 나오는지 점검해볼 수 있습니다.
그래도 문제가 계속된다면,
새로 질문글을 올리는 것도 방법이 될 수 있을 것 같습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
말씀 하신대로 하니 ~
추천수로 추출은 되나
기간이 설정이 안 되고
12달로 해도 1달 정도 밖에 검색이 안 되내요
그리고 추천수가 많은게 맨위로 가야 되는데..
중간에 나오고 하내요
어떻게 해야 될까요 ?