PHP / SQL单页面视图计数器

时间:2011-01-26 16:04:20

标签: php sql view count

嘿伙计们,我现在几个小时都在寻找一个好的答案,但找不到我要找的东西!

如果我有一个动态网站(也许是新闻),我会收到以下链接

  

../ domain.com/?newsid=1

     

../ domain.com/?newsid=2

     

../ domain.com/?newsid=3等..

现在,每个页面都有一个单独的计数器..

所以我会检查每一个访问者,如果有人正在阅读“新闻1”20次,它也应该只计算一次。 =>也许使用IP或Cookie。

它应该是一个函数,我可以包含在PHP代码中,如<? pageviews(ID)?>

我从来没有想过这样的事情。希望有人可以帮助我,并给我一些提示我如何编写这样的脚本(我是php新手顺便说一句)

2 个答案:

答案 0 :(得分:1)

您应该考虑在新闻表中使用计数器字段,以便当有人打开时,例如newsid = 1,您可以这样做:

$newsid = intval($_GET['newsid']);
mysql_query("UPDATE news set counter=counter+1 WHERE id=$newsid");

答案 1 :(得分:1)

我在http://talkerscode.com/webtricks/create-a-simple-pageviews-counter-using-php-and-mysql.php上发现了一篇很棒的文章让我简短地创建一个包含行数和页面的表,然后编写这段代码

$user_ip=$_SERVER['REMOTE_ADDR'];

$check_ip = mysql_query("select userip from pageview where page='yourpage' and userip='$user_ip'");
if(mysql_num_rows($check_ip)>=1)
{

}
else
{
  $insertview = mysql_query("insert into pageview values('','yourpage','$user_ip')");

    $updateview = mysql_query("update totalview set totalvisit = totalvisit+1 where page='yourpage' ");
}