php和thinkphp5实时统计下载量
这次是在tp5.0的基础上做的统计下载量,我的思路是在php后台的下载方法中加入统计数量的代码(就是方法运行一次就往数据库字段加1),展示数据的时候就从数据库(建表就两个字段id 和 downloadConut)拿值。废话不多说,直接上代码
<!--超文本标记语言这是前端页面代码,用于显示下载量 --!>
<div class="aaa">
<div class="bbb">
<div class="ccc">
<span class="ddd">总数</span>
<h5>下载数量</h5>
</div>
<div class="iii">
<h1 class="sss" id="count"></h1>
<div class="vvv"></div>
<small></small>
</div>
</div>
</div>
<script type="text/javascript" src="js/jquery-3.2.1.js"></script>
<script>
$(document).ready(function () { //网页打开运行的方法
shuaxin();
setInterval('shuaxin()',3000); //3秒定时刷新
});
function shuaxin(){ //通过后台获取数据库统计量
$.ajax({
type:"get",
url:"{:url('admin/index/countDownload')}", //数据传输的控制器方法
data:"",
success:function(data){
$("#count").html(data[0].downloadConut);//获取成功以后输出返回值
}
});
};
</script>
//这是后端php代码
function pictureDownload(){
//这是php下载方法,想看下载方法的可以去看我上一个文章
$census = new CensusModel();
$census->addCensus();
}else{
$this->error("下载失败");
}
}
$census = new CensusModel(); //这是调用tp的censusmodel模块,在调用一次下载方法累计在数据库加1
$census->addCensus();
public function countDownload(){ //这是前端ajax获取统计下载量的方法
$census = new CensusModel();
return $census->countCensus();
}
//这是我自己写的模块
namespace app\index\model;
use think\Model;
class CensusModel extends Model
{
// 确定链接表名
protected $name = 'census';
public function addCensus()
{
try{
return $this->where('id=1')->setInc('downloadConut');
// db('census')->where('id=1')->setInc('num');
}catch (\Exception $e){
return msg(-2, '', $e->getMessage());
}
}
public function countCensus()
{
try{
return collection($this->where('id=1')->select())->toArray();
}catch (\Exception $e){
return msg(-2, '', $e->getMessage());
}
}
}
大神们还有更好的方法可以说出来交流,小弟刚入门,望多指点指点!!!