新增信息的排行不太符合我的要求。就自己琢磨了一套全站信息的月点击、周点击排行。需要新增几个字段及修改文件。下面开始说明:
首先,确认你需要多少个排行,比如 年排行、月排行、周排行、日排行等等。调用多少个排行,就新增多少个字段。
如我只需用 月和周排行,则在数据表中新增字段 monthclick 及 weekclick 这两个字段。选择字段类型为INT 长度一般5-7位足够了。自己看着办。
新增完后,修改 \e\public\ViewClick\index.php 文件。
找到:
$usql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set onclick=onclick+1 where id='$id' limit 1");
修改为:
$usql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set onclick=onclick+1,monthclick=monthclick+1,weekclick=weekclick+1 where id='$id' limit 1");
这样,每次访问一篇文章后,三个字段都会增加次数。
然后在后台 计划任务 中 新增计划任务。
任务名:月点击清空程序 时间选为 每月31号或1号,自己看着办。 php文件代码如下:
<?php $usql=$empire->query("update {$dbtbpre}ecms_article set monthclick=0"); //不同的数据表,自己修改下,我用的是文章模型。所以是 article ?>
再新增周点击清空:
时间选为 星期一或星期日,自己看着办。 php文件代码如下:
<?php $usql=$empire->query("update {$dbtbpre}ecms_article set weekclick=0"); //不同的数据表,自己修改下,我用的是文章模型。所以是 article ?>
如果你还有其他排行字段,请自行添加。
在需用调用排行榜的地方,排序使用 order by monthclick 或者 order by weekclick 即可。
如万能标签:
[ecmsinfo]"select * from phome_ecms_article where checked=1 order by monthclick desc limit 10",10,30,0,24,7,0[/ecmsinfo]
即为调用 文章模型下,审核通过的文章,以月点击排行排序。
原理为: 点击数多个字段都同时增加,但是月点击和周点击会定时清零,每月或每周都会重新计算。
希望对你有用
|