文章统计功能主要用到了数据库的“数字类型”字段进行统计。
首先在数据表中增加一个字段(如:read_total,数字类型)来进行统计,当用户每次访问这个页面的时候使用Update语句进行增加,后期通过SELECT语句就可以方便的读出每篇文章的具体阅读次数了。
具体SQL代码如下:
更新:UPDATE 表名 SET 统计字段=统计字段+1 WHERE 文章编号=1
统计:SELECT * FROM 表名
if(!session_is_registered("visitor") )
{
$visitor=session_id();
session_register("visitor");
$sql_sum=mysql_query("update topic set sum=sum +1 where id=$id ");//阅读次数
}
===============
这段逻辑明显有问题,当第一个篇文章被点击的时候,你的session中就注册了visitor变量,占击下一篇文章的时候,由于visitor变量已注册,所以就不会执行update语句了.
=========
可是每次刷新都会增加阅读次数,发表回复时,用history.back(-1)跳回 all.php 页面时又刷新又增加阅读次数
=============
你是怎么统计的?在all.php会触发某些文章的统计次数+1的动作吗?
你的统计次数应该放在点开这某文章的时候才触发次数+1吧?
建议你调整一下更新统计次数那段代码的位置.
我认为你前面的代码是可以的.可能是统计代码的位置放的不好.