用tp5写了个浏览量的功能,每次网页刷新就+1,线下本地测试正常,放到线上,使用服务器的浏览器测试也是+1, 线下访问线上的就变成每次刷新+4,用静态变量测试结果执行次数也就执行了一次而已,排除代码Bug 请问是哪里除了问题??
附上代码:
/**
* 读取详情
* 浏览+1
*/
public function detail($id='',$browse=true,$sql=false)
{
if (empty($id)) goto end;
$data = $this->alias('a','left')
->field('a.id,a.tid,a.title,a.keyword,a.introduce,a.content,a.img,a.addtime,a.browse,u.name user_name,t.name type_name')
->join('tags t','t.id=a.tid','left')
->join('user u','u.id=a.uid','left')
->where(array('a.id'=>$id,'a.status'=>2))
->find();
// dp($this->getLastSql());
if (true == $sql) return $this->getLastSql();
end:
if (empty($data)) return null;
//浏览+1
if (true == $browse) $this->where('id',$data['id'])->setInc('browse');
$data = $data->toArray();
$data['user_name'] ? : $data['user_name'] = 'admin';
return $this->cotm($data);
}
只有这个操作里面写了 浏览+1的代码
if (true == $browse) $this->where('id',$data['id'])->setInc('browse');
找到原因了 看了日志 发现 程序 被执行了四次
但是为什么会被执行四次呢??
GCT1015
慕丝7291255
弑天下
相关分类