帝国CMS如何调用周点击排行和月点击排行

帝国在调用系统周点击排行和月点击排行的时候,会存在一个问题,即系统调用的点击数,都是全局的点击数,没法真正做到按周、月的点击排行。而且时间上面还容易出错。比如,周排行,你就得调用一周以内的数据的点击排行,月点击则是一个月内的数据点击排行,假设你的网站数据更新不是那么频繁的话,可能一周根本就没有更新足够的数据,那么你这个排行就没有任何意义了,因为数据不够呀!

那么有什么办法可以做到精准的点击排行呢?

办法当然是有的,这里借鉴小说点击统计系统的思维,咱们增加一个字段,周点击及月点击(如果需要其它点击可以自行扩展),然后文章被访问的时候更新点击,数据调用的时候使用该字段,调用全局的数据就可以了。

步骤1,给要统计点击的表,添加字段,周点击(weekclick),月点击(monclick)

步骤2,对点击进行统计(本函数是统计PV,如果需要过滤PV,只统计UV或者IP的话,可以参考系统自带的点击统计函数进行扩展),代码如下

01//更新点击数
02function updateHit($clicktime,$tbname,$id){
03    global $empire,$dbtbpre;
04    //点击更新
05    if(date('Ym',$clicktime)<>date('Ym',time())){//不是本月
06        $empire->query("update {$dbtbpre}ecms_".$tbname." set `weekclick`=1,`monclick`=1,`onclick`=onclick+1,`clicktime`=".time()." where `id`=$id");
07    }else if(date('YW',$clicktime)<>date('YW',time())){//不是本周
08        $empire->query("update {$dbtbpre}ecms_".$tbname." set `weekclick`=1,`monclick`=monclick+1,`onclick`=onclick+1,`clicktime`=".time()." where `id`=$id");
09    }else{//所有点击+1
10        $empire->query("update {$dbtbpre}ecms_".$tbname." set `weekclick`=weekclick+1,`monclick`=monclick+1,`onclick`=onclick+1,`clicktime`=".time()." where `id`=$id");
11    }  
12}

函数写完,剩下的就是调用啦,在你需要调用周排、月排的时候,直接按 weekclick、monclick 进行倒序就可以咯

符:如果需要想帝国系统默认的点击那样,过滤PV的话,只需要引入/e/class/onclickfun.php这个文件,调用eCheckOnclickCookie()这个函数即可。具体可以搜索这个函数,查看用法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值