간단한 페이지별 카운터 정보
간단한 페이지별 카운터본문
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]를 사용하면 됩니다.
추천
8
8
댓글 7개
첨에 불당님거로 시도하다가 잘안되서 패스~
초보인 저같은 경우는 이소스가 적용해보니 더 간단하더군요..
정말 유용하게 사용하고 있습니다^^ ㅊㅊ~!!
초보인 저같은 경우는 이소스가 적용해보니 더 간단하더군요..
정말 유용하게 사용하고 있습니다^^ ㅊㅊ~!!
감사합니다.
ㅊㅊ
ㅊㅊ
좋은 팁인거 같은데요..
--------------------------------------
pagecnt라는 테이블을 다음과 같이 만들고
cnt INT()
page VARCHAR(255)
date CHAR(10)
ip_list TEXT()
page와 date에 인덱스 걸어주시고..
---------------------------------------
윗 부분을 이해못하는 초짜라...
phpMyAdmin의 sql에 넣나요??
--------------------------------------
pagecnt라는 테이블을 다음과 같이 만들고
cnt INT()
page VARCHAR(255)
date CHAR(10)
ip_list TEXT()
page와 date에 인덱스 걸어주시고..
---------------------------------------
윗 부분을 이해못하는 초짜라...
phpMyAdmin의 sql에 넣나요??
네이버,다음 검색사이트에 'db테이블만들기', 'db테이블만드는방법' 등으로 검색해보세요.
찡기스님이 질문하신거는 스스로 공부하셔야 할겁니다.
자주는 아니더라도 사용해야할때가 가끔있거든요.
저도 초보인지라 꼭 저를 보는듯하여 댓글달고 갑니다.. 힘내시길..^^
찡기스님이 질문하신거는 스스로 공부하셔야 할겁니다.
자주는 아니더라도 사용해야할때가 가끔있거든요.
저도 초보인지라 꼭 저를 보는듯하여 댓글달고 갑니다.. 힘내시길..^^
생각해보니 CHAR(10)보다는 DATE()가 나을 것 같네요. 수정했습니다.
테이블별로 카운터를 넣을려면 힘들까요..이거 응용하면 되겠는데..제가 잘 몰라서..^^;
필요할것 같군요. 감솨!!