유용한 자료
< 자료공유 < 유용한 자료
기타자료실

gnu | 페이지별 카운터 만들기

페이지 정보

작성자 madalla 작성일13-02-27 22:49 조회1,706회 댓글0건

본문

pagecnt라는 테이블을 다음과 같이 만들고
cnt INT()
page VARCHAR(255)
date DATE()
ip_list TEXT()
page와 date에 인덱스 걸어주시고..
<?
$pagecnt = sql_fetch("select cnt, ip_list from `pagecnt` where date='$g4[time_ymd]' and page='$_SERVER[PHP_SELF]'");
if(!strstr($pagecnt[ip_list], "/".$_SERVER[REMOTE_ADDR]."/")) {
  if($pagecnt) sql_query("update `pagecnt` set cnt=cnt+1, ip_list=CONCAT(ip_list, '$_SERVER[REMOTE_ADDR]/') where date='$g4[time_ymd]' and page='$_SERVER[PHP_SELF]'");
  else sql_query("insert into `pagecnt` set cnt=1, ip_list='/$_SERVER[REMOTE_ADDR]/', date='$g4[time_ymd]', page='$_SERVER[PHP_SELF]'");
}
$yesterday = date("Y-m-d", strtotime("-1 day"));
$pagecnt2 = sql_fetch("select cnt from `pagecnt` where date='$yesterday' and page='$_SERVER[PHP_SELF]'");
$pagecnt3 = sql_fetch("select SUM(cnt) as sum from `pagecnt` where page='$_SERVER[PHP_SELF]'");
echo "오늘 : " . intval($pagecnt[cnt]) . " 어제 : " . intval($pagecnt2[cnt]) . " 총 : " . intval($pagecnt3[sum]);
?>
Query string이 들어간 페이지라면(주소 뒤에 물음표가 붙고 변수값이 있는 경우)
$_SERVER[REMOTE_ADDR] 대신 $_SERVER[REQUEST_URI]를 사용하면 됩니다.
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기