03
2013-08

如何统计phpcms V9文章阅读次数并按照一定的顺序排序

用V9统计每篇文章的阅读次数如何实现?
在用V9做二次开发的时候,有时候会要求统计到每篇文章的阅读次数,查看一下阅读次数表V9_hits表,发现hitsid类型为诸如c-1-314这样的char类型,仔细观察一下,发现这种组合的hitsid的规律就是‘c-模型ID-文章ID’,所以我们可以把这个hitsid做一下处理,然后就可以和文章表v9_news表做联合查询了,处理这个字段的数据库函数是substring_index(字段,‘分隔符号’,‘截取长度’),尤其要注意截取长度,看下面查询语句

SELECT n.`id`,n.`title`,h.`views` FROM `v9_hits` AS h,`v9_news` AS n WHERE substring_index(h.`hitsid`, '-', -1)=n.`id` AND n.`status`=99 ORDER BY n.id DESC

这样就可以查询出来了
还有另外一种方法,就是在v9_hits表中添加一个文章ID字段,这就需要把该字段的信息插入到v9_hits数据表,这就要修改api/count.php再插入数据库执行语句处添加一行代码,如下:

$id=$_G['id'];$sql = array('id'=>$id,'views'=>$views,'yesterdayviews'=>$yesterdayviews,'dayviews'=>$dayviews,'weekviews'=>$weekviews,'monthviews'=>$monthviews,'updatetime'=>SYS_TIME);

这样就可以把文章的ID顺利写入数据库了,然后根据阅读次数表和文章表的关联字段文章ID来查询,语句如下:

select n.id,n.title,h.views from `v9_news` n,`v9_hits` h where n.id=h.id order by n.id desc

这样是不是更简单了,看看自己喜欢哪一种


除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.shiyayong.cn/post/205.html

评论列表:

3  即时比分  2014-10-5 23:50:23 回复该留言  IP:120.36.168.126
这就需要把该字段的信息插入
即时比分
2  电信通  2013-8-7 19:21:12 回复该留言  IP:114.255.216.75
博主支持一下 写的真不错。
电信通
1  星月博客  2013-8-3 19:06:48 回复该留言  IP:111.14.90.36
学习了,亲,两种方法介绍很全面啊,哈哈,谢谢分享!对了,还可以交换友链不?
  茶馆老板  2013-8-7 21:29:26 回复该留言  IP:211.155.113.205
咱们的博客不属于同一个类型啊,亲
茶馆老板
星月博客

发表评论:

(设置个性头像)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量