간단한 페이지별 카운터 > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

간단한 페이지별 카운터 정보

간단한 페이지별 카운터

본문

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]를 사용하면 됩니다.
추천
8
  • 복사

댓글 7개

첨에 불당님거로 시도하다가 잘안되서 패스~
초보인 저같은 경우는 이소스가 적용해보니 더 간단하더군요..
정말 유용하게 사용하고 있습니다^^ ㅊㅊ~!!
좋은 팁인거 같은데요..

--------------------------------------
pagecnt라는 테이블을 다음과 같이 만들고
cnt INT()
page VARCHAR(255)
date CHAR(10)
ip_list TEXT()
page와 date에 인덱스 걸어주시고..
---------------------------------------

윗 부분을 이해못하는 초짜라...

phpMyAdmin의 sql에 넣나요??
네이버,다음 검색사이트에 'db테이블만들기', 'db테이블만드는방법' 등으로 검색해보세요.
찡기스님이 질문하신거는 스스로 공부하셔야 할겁니다.
자주는 아니더라도 사용해야할때가 가끔있거든요.
저도 초보인지라 꼭 저를 보는듯하여 댓글달고 갑니다.. 힘내시길..^^
© SIRSOFT
현재 페이지 제일 처음으로