php+mysql 如何统计每篇文章的阅读次数

php+mysql如何统计每篇文章的阅读次数文章标题列表页是forum.php文章内容页是all.php?id=1,2,3,4(all.php是动态生成的页1,2,3……... php+mysql 如何统计每篇文章的阅读次数

文章标题列表页是forum.php
文章内容页是all.php?id=1,2,3,4(all.php是动态生成的页1,2,3……代表不同的文章)

下面是我的统计阅读次数的语句
$sql_sum=mysql_query("update topic set sum=sum +1 where id=$id ");//阅读次数 $id是文章的标识号

可是每次刷新都会增加阅读次数,发表回复时,用history.back(-1)跳回 all.php 页面时又刷新又增加阅读次数

所以换成下面这段

if(!session_is_registered("visitor") )
{
$visitor=session_id();
session_register("visitor");
$sql_sum=mysql_query("update topic set sum=sum +1 where id=$id ");//阅读次数
}

可是点击forum.php里的标题查看不同的文章里,只有第一篇文章有增加阅读次数,其他的文章都不增加阅读次数
哪位好心的大虾帮帮忙啊
展开
 我来答
richie214
2015-06-18 · TA获得超过1712个赞
知道大有可为答主
回答量:2320
采纳率:25%
帮助的人:1311万
展开全部

文章统计功能主要用到了数据库的“数字类型”字段进行统计。


首先在数据表中增加一个字段(如:read_total,数字类型)来进行统计,当用户每次访问这个页面的时候使用Update语句进行增加,后期通过SELECT语句就可以方便的读出每篇文章的具体阅读次数了。


具体SQL代码如下:

更新:UPDATE 表名 SET 统计字段=统计字段+1 WHERE 文章编号=1
统计:SELECT * FROM 表名
hotdigger
2010-06-12 · TA获得超过3590个赞
知道大有可为答主
回答量:1458
采纳率:50%
帮助的人:622万
展开全部
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吧?
建议你调整一下更新统计次数那段代码的位置.
我认为你前面的代码是可以的.可能是统计代码的位置放的不好.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式