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]를 사용하면 됩니다.
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]를 사용하면 됩니다.