【前言】
? ?本文介绍下thinkphp统计浏览量,这里采取的简单做法,未对ip做筛选
? ?当然,部分网站为了防止恶意刷新页面限制IP,一个IP一天只能刷新一次。php防止恶意刷新页面的方法可以参考https://blog.csdn.net/u011252402/article/details/47415101
?
?
【主体】
一、首先要在数据表blog_article里插入浏览量字段shownum
class="sql语句">alter table blog_article add column shownum varchar(40) default 0;
?
二、接下来一共两步
(1)将下面代码放在要统计的html页面中,测试时把地址换成自己的。
<script> var ajax; if(window.XMLHttpRequest){ ajax = new XMLHttpRequest(); }else{ ajax = new ActiveXObject('Microsoft.XMLHTTP'); } ajax.open('GET','__MODULE__/Article/index/id/{$_GET['id']}',true); ajax.send(); </script>
?
(2)下面的代码放在对应的控制器,M('表名称') setInc('字段')都换成自己的,也就是上面代码请求的方法
public function index(){ $article = D('article') ->field('t1.*,t2.catename as catename') ->alias('t1') ->join('left join blog_cate as t2 on t1.cateid=t2.id') ->where('t1.id = '.I('id')) ->find(); //浏览次数 if(!$_GET['id']){return;} $shownum = M('article')->where("id = '{$_GET['id']}'")->setInc('shownum',1); $this->assign('article',$article); $this->display(); }
? ?在php代码里面加入统计代码时,如果静态页面缓存php代码就会不执行,用ajax就完全可以解决这个问题。
?
【总结】
? 以上便可以在列表页点击相应文章或新闻时,实现浏览量的简单叠加。
?
?
?
?
?
?
?
?
?
?
.