2011-01-26 60 views
0

嘿家伙们,我正在寻找一个好几个小时的答案,但无法找到我要找的东西!PHP/SQL单页查看次数计数器

如果我有一个动态的网站(也许新闻)我有以下链接

../domain.com/?newsid=1

../domain.com/?newsid= 2

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

现在我会对每个本页面的个人柜台..

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

这应该是一个功能,我可以包括到PHP代码像<? pageviews(ID)?>

我从来没有像吼声的事。希望有人可以帮助我,并给我一些提示如何我可以编写这样的脚本(我是php新手btw)

回答

1

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

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

嘿嘿,是啊,但如何我可以检查用户是否是“新访问者”,或者在过去几小时内是否已阅读过此新闻? – whocares 2011-01-26 16:18:18

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' "); 
}