클릭수를 기간별로 뽑을수 있나요.. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

클릭수를 기간별로 뽑을수 있나요.. 정보

클릭수를 기간별로 뽑을수 있나요..

본문

팁란에 나와있는 인기글 뽑는 소스들은 글쓴날을 기준으로 7일간의 글중에서 가장 많은 클릭수를 나타내는 글을 보여주고 있는데요..

제가 알고자 하는것은

하나의 게시판전체글에서 오늘을 기준으로 7일이전부터 오늘까지의 클릭수중에서 클릭수가 가장 많은 데이터를 뽑아 오고 싶습니다..

도움좀 부탁드립니다....
  • 복사

댓글 전체

저는 m3hit 이라는 DB table을 만들어두고 date, gr_id, bo_table, wr_id, hit을 기록하도록 해두고 있습니다. 이렇게 기록해두면 날짜와 클릭수 기록이 남기 때문에 나중에 통계를 마음대로 낼 수 있겠죠.
다만 아래 소스는 한 사람이 여러번 클릭하거나 새로고침을 해도 카운트가 계속 올라갑니다..
view.tail.skin.php
<?
// 카운트 올리기
$date = $g4[time_ymd];
if(sql_fetch("select date from `m3hit` where date='$date' AND bo_table='$bo_table' AND wr_id='$wr_id'"))
sql_query("update `m3hit` set hit = hit + 1 where date='$date' AND bo_table='$bo_table' AND wr_id='$wr_id' LIMIT 1");
else
sql_query("insert into `m3hit` set date='$date', gr_id='$board[gr_id]', bo_table='$bo_table', wr_id='$wr_id', hit='1'");
?>
클릭수가 wr_hit 라고 생각하고,,

현재시각으로부터 7일간의 코멘트가아닌 글에대하여,,

wr_hit가 많은 순서대로,, (수가 같으면 나중에쓴글이 상위)

뽑습니다.  저는 아래와 같이 테스투!



$sel = sql_query("
  select * from 테이블
  where !wr_is_comment and wr_datetime > date_add(now(), interval -7 day)
  order by wr_hit desc, wr_datetime desc
");

while($row=sql_fetch_array($sel)){
  echo $row[wr_hit]." / ".$row[wr_subject]." / ".$row[wr_datetime]."<br><br>";
}
정확하게는 wr_hit를 따로 테이블로 분리해서 날짜 컬럼을 추가해 주는 겁니다.

기간이 하루면 좀 간단하겠지만,

 일주일이라면 테이블 분밖에는 답이 없을 겁니다.
© SIRSOFT
현재 페이지 제일 처음으로