PHP/SQL单页视图计数器

PHP/SQL单页视图计数器,php,sql,view,count,Php,Sql,View,Count,嘿,伙计们,我一直在寻找一个好的答案几个小时了,但找不到我要找的 如果我有一个动态网站(可能是新闻),我会得到以下链接 ../domain.com/?newsid=1 ../domain.com/?newsid=2 ../domain.com/?newsid=3等 现在,我将为每一页设置一个单独的计数器 因此,我会检查每一位访客,如果有人阅读“新闻1”20次,也应该只计算1次。=>可能是IP或Cookie 它应该是一个可以包含在php代码中的函数,如 我从来没有想过这样的事。希望有人能帮助我并给

嘿,伙计们,我一直在寻找一个好的答案几个小时了,但找不到我要找的

如果我有一个动态网站(可能是新闻),我会得到以下链接

../domain.com/?newsid=1

../domain.com/?newsid=2

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

现在,我将为每一页设置一个单独的计数器

因此,我会检查每一位访客,如果有人阅读“新闻1”20次,也应该只计算1次。=>可能是IP或Cookie

它应该是一个可以包含在php代码中的函数,如


我从来没有想过这样的事。希望有人能帮助我并给我一些提示我如何编写这样的脚本(我是PHP News BTW)< /P> < P>你应该考虑在你的新闻表中使用一个计数器字段,这样当某人打开时,NexSID=1,例如,你这样做:

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

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

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

我发现了一篇关于“让我缩短代码”的优秀文章,创建一个包含行计数和页面的表,然后编写此代码

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

我发现了一篇关于“让我缩短代码”的优秀文章,创建一个包含行计数和页面的表,然后编写此代码

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

嘿,是的,但我如何检查用户是否是“新访客”或在过去几个小时内已经阅读了此新闻?您可以通过会话进行检查,例如:$\u会话[“news\u$newsid”]=true;检查是否属实,不要更新数据库或进行一点头脑风暴=>如果有人阻止了Cookie,会发生什么?这样,此人会被计数不止一次,作为一种替代方法,您可以保存IP,但一段时间后,数据库将变得如此庞大。IP通常(最多时间)24小时可用。。我可以使用cronjob删除所有超过24小时的IP。。因此,我必须创建一个表“newsid,ip,time”,但我不知道如何将所有这些练习结合到一个工作脚本中。嘿,是的,但我如何检查用户是否是“新访客”或在过去几个小时内已经阅读了这条新闻?您可以按会话进行操作,例如:$\u会话[“news\u$newsid”]=true;检查是否属实,不要更新数据库或进行一点头脑风暴=>如果有人阻止了Cookie,会发生什么?这样,此人会被计数不止一次,作为一种替代方法,您可以保存IP,但一段时间后,数据库将变得如此庞大。IP通常(最多时间)24小时可用。。我可以使用cronjob删除所有超过24小时的IP。。所以我必须创建一个表“newsid,ip,time”,但我不知道如何将所有这些练习结合到一个工作脚本中