sql 기간별 조회수 출력문의
본문
지정한 날짜별로 조회수 순위를 표시하려고합니다.
글보기를하면 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
https://devbox.tistory.com/entry/Comporison-LEFT-JOIN-%EA%B3%BC-RIGHT-JOIN
g5_board_new 와 join 해서 사용하시면 됩니다.
join 하면 값이 없어도 전체가 나오는쪽이 있으므로 참고해서 만드시면 될거 같네요.
g5_board_new(전체) 를 left join 하시면 될거 같네요.
원래 글쓰면 조회수 1 기본으로 들어가서 전부 다 나오는게 정상일텐데요.
혹시, 커스텀하신 거면, 글쓰기 업데이트 부분에 히트수 1 자동 넣기 추가해 보세요.
글쓰기시
g5_bbs_hit
해당 테이블에 기본으로 하나를 넣어주시면 해결되실거 같네요.
답변을 작성하시기 전에 로그인 해주세요.