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

sql 기간별 조회수 출력문의 채택완료

열공중 4년 전 조회 1,774

지정한 날짜별로 조회수 순위를 표시하려고합니다.

 

글보기를하면 g5_bbs_hit 테이블에 날짜,게시판아이디,조회수가 날짜별로 저장이됩니다.

 

아래처럼하면 조회순으로 잘 나옵니다.

$listdate = 1;

$startYmd = date("Ymd");

$nowYmd = date("Ymd");

$sql99 = " select * from `g5_bbs_hit` where bo_table = '{$bo_table}' and date_format(date, '%Y%m%d') between '$startYmd' and '$nowYmd' order by hit desc limit {$from_record}, $page_rows ";

$service99 = sql_query($sql99);

 

$list = array();

while($row99 = sql_fetch_array($service99)) {

$temp99 = sql_fetch("select * from {$g5['write_prefix']}{$row99['bo_table']} where wr_id='{$row99['wr_id']}'");

$board99 = sql_fetch("select * from {$g5['board_table']} where bo_table = '{$row99['bo_table']}'");

$list[] = get_list($temp99, $board99, $listdate);

}

 

for($i=0; $i<count($list); $i++) {

.....

 

문제는 g5_bbs_hit 조회수 기준으로하니 날짜에 조회수 저장이 안된건 나오질 않습니다.

즉) 글이 총 10개인데 저장된것이 5개면 그 5개만 나옵니다.

 

글이 많을 경우 날짜는 매일 바뀌니 글중 조회수가 없는것도 있을 수 있잖아요.

날짜가 지나더라도 조회수 저장안된 총 게시물이 다나오게요.

고수님들 도움 좀 부탁드립니다.

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

답변 3개

채택된 답변
+20 포인트

https://devbox.tistory.com/entry/Comporison-LEFT-JOIN-%EA%B3%BC-RIGHT-JOIN">https://devbox.tistory.com/entry/Comporison-LEFT-JOIN-%EA%B3%BC-RIGHT-JOIN

 

g5_board_new 와 join 해서 사용하시면 됩니다.

 

join 하면 값이 없어도 전체가 나오는쪽이 있으므로 참고해서 만드시면 될거 같네요.

 

g5_board_new(전체) 를 left join 하시면 될거 같네요.

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

답변에 대한 댓글 1개

열공중
4년 전
@서버제로 님 댓글 감사합니다.
공부해보겠습니다~^^

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

글쓰기시 

g5_bbs_hit

해당 테이블에 기본으로 하나를 넣어주시면 해결되실거 같네요.

 

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

답변에 대한 댓글 1개

열공중
4년 전
@서버제로 님 댓글 감사합니다.
글쓰기시 g5_bbs_hit 기본으로 넣는건 문제가 아니고요.
날짜가 매일 바뀌니 그날짜마다 저장값이 있어야하는거죠.
글이 몇개 안되면 업데이트하면 그만이지만
글이 많으면 매일 모든 wr_id마다 날짜별로 기본값을 넣어줘야하니 문제가 되는겁니다.

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

s
sinbi Expert
4년 전

원래 글쓰면 조회수 1 기본으로 들어가서 전부 다 나오는게 정상일텐데요.

혹시, 커스텀하신 거면, 글쓰기 업데이트 부분에 히트수 1 자동 넣기 추가해 보세요.

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

답변에 대한 댓글 1개

열공중
4년 전
@sinbi 님 댓글 감사합니다.
네~ 그건 기본에 히트수에 저장이되는거고요.
글 보면 g5_bbs_hit 여기에 날짜별로 히트수가 저장이됩니다.
기간별로 조회수 순위를 매기기위함이죠

그러니 리스트를 g5_bbs_hit 테이블 기준으로하니 저장안된건 안나오는거죠.
제가 원하는건 g5_bbs_hit 테이블 조회수값을 기준으로하되
저장안된건 g5_write_{$bo_table} 그누보드 기본 테이블과 합치고??
말이 되는지...모르겠네요^^;

여튼 기본 그누보드 g5_write_{$bo_table} 기준에서 히트수만 g5_bbs_hit 테이블 기준으로 하려고합니다.
글로 설명하려니 어렵네요~ ㅠㅠ

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

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

로그인