浅谈PHP如何实现网站文章或博客页面访问量+1
提示:本人使用的本地环境是smarty+php,在开发前端的新闻的时候想给新闻添加浏览量显示,于是思考如何实现。思路是在前端页面添加AJAX,当文章页面加载后实现向PHP发送文章ID,PHP返回JSON数据,显示浏览量。(其实也可以在文章PHP文件里直接更新该文章的点击数,思路有多少,方法就有多少,根据适合自己的才是好的)
前端JQ AJAX
由于使用的是smarty生成的前端静态页面,所以AJAX部分添加了{literal}{/literal},不然会报错。不是smarty的可以去掉。smarty生成的静态页面模板可以调用赋值的变量,但是浏览量这个变量就不适用了。所以用的AJAX显示。
<script>
$(document).ready(function(){
var $pageid = {$id}; //文章ID,{$id}是smarty赋值的
{literal}
$.ajax({
type:"POST",
url:"../login.php?action=page_view",
dataType:"json",
data:{"id":$pageid}, //传给PHP的参数值
success:function(data){
$("#pagenum").html(data[0]); //给div添加PHP返回的JSON浏览量数值
},
error:function(data){
$("#pagenum").html("0"); //给div添加浏览量数值
},
});
{/literal}
});
</script>
PHP的内容
PHP的内容也很简单,思路就是先查询数据库浏览量的那个字段的值,然后+1,update数据库,返回的json数据是+1后的。就实现了前端显示实时浏览量。select和update 数据库就不放进来了,比较简单。这里我只是简单是实现这个浏览量。并没有添加什么限制之类。如有需要添加限制,在此基础上可以添加。当然也可以想下有没有别的好的思路实现浏览量显示。
$arr = array($num); //$num就是我用mysql查询出来的浏览量字段的+1后的值
$json = json_encode($arr);
echo $json;
前端实现效果