테스트 사이트 - 개발 중인 베타 버전입니다

갤러리 에서 추천수가 많은 사진 4장 정도를 메인에 뽑아 오고 싶어요 채택완료

별그림 7년 전 조회 2,868

갤러리 에서 추천수가 많은 사진 4장 정도를 메인에 뽑아 오고 싶어요

기간 지정을 할수 있으면 좋겠습니다

즉 ~

2달 동안 또는 3달 동안에 올라온 최신 사진중에

추천수가 많은 4장만 뽑아다가 메인에 뿌리고 싶어요

어떻게 하면 될까요 ?

답변 부탁 드립니다

^^

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

답변 2개

채택된 답변
+20 포인트
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년 전
답변 감사 합니다
말씀 하신대로 하니 ~
추천수로 추출은 되나
기간이 설정이 안 되고
12달로 해도 1달 정도 밖에 검색이 안 되내요
그리고 추천수가 많은게 맨위로 가야 되는데..
중간에 나오고 하내요
어떻게 해야 될까요 ?
마르스컴퍼니
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) 에서 실행하여,
쿼리상으로는 제대로 나오는지 점검해볼 수 있습니다.

그래도 문제가 계속된다면,
새로 질문글을 올리는 것도 방법이 될 수 있을 것 같습니다.

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

그누위즈

최신글은 latest() 함수를 사용합니다.

해당 함수의 쿼리문에서 추천수 wr_good 필드에 값이 많은 순서대로 가져오고

기간은 현재 날짜의 2달 3달 전의 날짜와 비교해서 가져오시면됩니다.

해당 최신글 함수를 수정해야 하는 부분입니다.

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

답변에 대한 댓글 1개

별그림
7년 전
네 ~ 그 부분은 알고 있는데요
혹시 참조할만한 소스나 플러그인이 있나요 ?

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

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

로그인