下载地址在文章最后
本章来讲一讲 官方默认只有总点击 无法现实帝国cms系统日、周、月点击量
而论坛上法的方法也只是多少天内的点击量
打比方有一条文章是2024年7月5号发布的
论坛上是这样调用 7天内的文章热门
[e:loop={0,9,4,0,'newstime>UNIX_TIMESTAMP()-86400*7','onclick desc'}]
<li><a href="<?=$bqsr['titleurl']?>"><?=$bqr['title']?></a></li>
[/e:loop]
这样调也只能调发布时间之内的七天 超过七天就不显示文章了也就是13号就不显示了
翻了以前的论坛记录也有人很久发布了新方法就是增加 日 、周、 月字段
不过清空点击量需要手动去点击 或者开着计划任务 挂后台 有点麻烦
下面我们改一下把他变成自动清零
数据库新增timeclick表 用来储存 当日时间(daytime)本周一时间(weektime)本月初一时间(monthtime)
在数据表中新增字段 dayclick 、monthclick 及 weekclick 这三个字段。选择字段类型为INT 长度7位足够了
原理:
判断timeclick表的当日时间(daytime)不等于今天就会执行
timeclick表的daytime字段更新成今日
并且ecms_news下的dayclick字段清零
反之不执行
以此类推 周、月 也是这样
彻底拜托双手真正实现自动化
******************** 修改文件说明 ********************
修改文件/e/public/ViewClick/index.php
//浏览数
if($down==0)
{
$r=$empire->fetch1("select onclick from {$dbtbpre}ecms_".$cr['tbname']." where id='$id' limit 1");
$shownum=$r['onclick']+1;
if($_GET['addclick']==1)
{
$usql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set onclick=onclick+1 where id='$id' limit 1");
}
}
替换成
//浏览数
if($down==0)
{
$r=$empire->fetch1("select onclick from {$dbtbpre}ecms_".$cr['tbname']." where id='$id' limit 1");
$wr=$empire->fetch1("select * from {$dbtbpre}timeclick ");
$shownum=$r['onclick']+1;
$daytime=hRepPostStr($wr['daytime']);
$weektime=hRepPostStr($wr['weektime']);
$monthtime=hRepPostStr($wr['monthtime']);
$time = time();
$today = strtotime("today");//获取当天时间戳
$lastmonday = strtotime('last monday', $time);// 获取本
周一的时间戳
$dateTime = new DateTime();
$dateTime->setTimestamp($time);
$dateTime->setDate($dateTime->format('Y'), $dateTime->format('m'), 1);
$dateTime->setTime(0, 0, 0);
$monthday = $dateTime->getTimestamp(); // 获取当前月份第一天的时间戳
if($daytime!=$today){
$daytimesql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set dayclick=0");
$todaysql=$empire->query("update {$dbtbpre}timeclick set daytime='".$today."'");
}
if($weektime!=$lastmonday){
$weektimesql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set weekclick=0");
$lastmondaysql=$empire->query("update {$dbtbpre}timeclick set weektime='".$lastmonday."'");
}
if($monthtime!=$monthday){
$monthtimesql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set monthclick=0");
$monthdaysql=$empire->query("update {$dbtbpre}timeclick set monthtime='".$monthday."'");
}
if($_GET['addclick']==1)
{
$usql=$empire->query("update {$dbtbpre}ecms_".$cr['tbname']." set onclick=onclick+1,dayclick=dayclick+1,weekclick=weekclick+1,monthclick=monthclick+1 where id='$id' limit 1");
}
}
上传附件内的所有文件到根目录 ******************** 插件目录说明 ********************
/e/extend/timeclick/ 点击排行榜插件目录
├install/ 插件安装/卸载文件目录
│├index.php 安装/卸载主文件
│├install.php 安装插件文件
│└uninstall.php 卸载插件文件
******************** 插件调用说明 ********************
在需用调用排行榜的地方,排序使用 order by monthclick 或者 order by weekclick 、 order by dayclick即可。
dayclick--日点击
weekclick--周点击
monthclick--月点击
万能标签调用:
[ecmsinfo]0,10,32,0,3,1,0,'','dayclick DESC'[/ecmsinfo]
或
[ecmsinfo]"select * from [!db.pre!]ecms_news where checked=1 order by dayclick desc limit 10",10,32,0,24,1,0[/ecmsinfo]
灵动标签:
[e:loop={0,10,3,0,'','dayclick DESC'}] <a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br> [/e:loop]或
[e:loop={select * from [!db.pre!]ecms_news where checked=1 order by dayclick desc limit 10
',10,24,0,'','newstime DESC'}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]
即为默认表/news表下的审核通过文章以每天点击量排行
在内容模版需要点击量的地方添加实时显示点击数(显示+统计)
调用动态<script src=[!--news.url--]e/public/ViewClick/?classid=[!--classid--]&id=[!--id--]&addclick=1></script>
下载地址:
|
未经允许不得转载:YESKYLOG » 帝国cms日点击,周点击,月点击排行榜现实插件每天,每周,每月自动清零无需手动和挂计划
支持!用帝国cms做小说站可以用到
3