当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国cms实现文章点击月周日排行效果方法

3年前 (2022-10-21)帝国CMS8072

模型管理增加相应3个字段,分别是:DayHits WeekHits MonthHits 这3个字段全部在主表,int类型字段

再增加 ConditionHits 字段,为文本型,同样在主表 注意大小写

$time=mktime(0,0,0,8,5,2010);//设置日期为2010年8月5号

$wzid=35;//文章ID35

$Week=date("w",$time);//今天星期几

$Number=date("j",$time);//今天几号

$Month=date("m",$time);//今天是几月

$Years=date("Y",$time);//今天那年

$d=cal_days_in_month(CAL_GREGORIAN,$Month,$Years);//去得本月总天数

$Week_r=$Number-$Week;//本周日是几号

if($Week_r<1){$Week_r=cal_days_in_month(CAL_GREGORIAN,$Month-1,$Years)+$Week_r;}

$Week_l=$Number+7-$Week-1;//本周六是几号

if($Week_l>$d){$Week_l=$Week_l-$d;}

$newsrs=$empire->fetch1("select ConditionHits from {$dbtbpre}ecms_news where `id`={$wzid}");

$DayHitstime_k=mktime(0,0,0,date("m",$time),$Number,date("Y",$time));

$DayHitstime_j=$DayHitstime_k+86400;

if(empty($newsrs['ConditionHits'])){//判断月、周、日点击条件是否为空,如果为空,初始值

$empire->query("UPDATE `{$dbtbpre}ecms_news` SET `ConditionHits`='".$Number."|".$Week_r."-".$Week_l."|".$Month."',`DayHits`=1,`WeekHits`=1,`MonthHits`=1 WHERE `id`={$wzid}");

}else{

$Daytj=explode("|",$newsrs['ConditionHits']);

print_r($Daytj);

if($newsrs['ConditionHits']!="".$Number."|".$Week_r."-".$Week_l."|".$Month.""){

if((int)$Daytj[0]!=$Number){

$empire->query("UPDATE `{$dbtbpre}ecms_news` SET `ConditionHits`='".$Number."|".$Daytj[1]."|".$Daytj[2]."',`DayHits`=0 WHERE `id`={$wzid}");

}

if($Daytj[1]!="".$Week_r."-".$Week_l.""){

$empire->query("UPDATE `{$dbtbpre}ecms_news` SET `ConditionHits`='".$Daytj[0]."|".$Week_r."-".$Week_l."|".$Daytj[2]."',`WeekHits`=0 WHERE `id`={$wzid}");

}

if((int)$Daytj[2]!=(int)$Month){

$empire->query("UPDATE `{$dbtbpre}ecms_news` SET `ConditionHits`='".$Daytj[0]."|".$Daytj[1]."|".$Month."',`MonthHits`=0 WHERE `id`={$wzid}");

}

}else{

if((int)$Daytj[0]==$Number){

$empire->query("UPDATE `{$dbtbpre}ecms_news` SET `DayHits`=DayHits+1 WHERE `id`={$wzid}");//今日点击+1

}

if($Daytj[1]==$Week_r."-".$Week_l){

$empire->query("UPDATE `{$dbtbpre}ecms_news` SET `WeekHits`=WeekHits+1 WHERE `id`={$wzid}");//本周点击+1

}

if((int)$Daytj[2]==(int)$Month){

$empire->query("UPDATE `{$dbtbpre}ecms_news` SET `MonthHits`=MonthHits+1 WHERE `id`={$wzid}");//本月点击+1

}

}

}

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://www.blueboss.cn/p/485.shtml

“帝国cms实现文章点击月周日排行效果方法” 的相关文章

帝国CMS灵动标签调用指定时间段的信息

帝国CMS灵动标签调用指定时间段的信息

帝国CMS灵动标签怎么调用指定时间段的信息呢? 1、某天发布的文章: [e:loop={'news',10,18,0,'newstime>='.to_time('2010-11-11 00:00:01').' and newstime<='.to_time('2010-11-11 23...

帝国CMS使用esub/substr截取前面(或后面)两个字符(或多个字符)

帝国CMS使用esub/substr截取前面(或后面)两个字符(或多个字符)

帝国CMS怎么用灵动标签使用esub/substr截取前面,或者截取后面两个字符或者多个字符呢? ①、帝国网站 显示是"帝国" (这是灵动标签默认的截取标签字段“esub”), [e:loop={'select * from phome_enewsclass where bclassid=0 or...

帝国CMS更新内容提示Table#039;www_**_com.***_ecms_news_data_#039;doesn#039;texist...

帝国CMS更新内容提示Table#039;www_**_com.***_ecms_news_data_#039;doesn#039;texist...

帝国CMS更新整站内容提示:Table 'www_123_com.***_ecms_news_data_' doesn't exist...的解决办法! 相信很多使用帝国cms模板建站的朋友,都有遇到过类似的问题,那么这个是什么问题呢?其实这个是我们后台:871 文章id为871的文章删除了,但是表...

帝国CMS登陆后台出现空白的问题及解决方法

帝国CMS登陆后台出现空白的问题及解决方法

帝国CMS后台登陆出现空白页的问题及解决方法。一起来看看吧: 帝国的后台管理系统突然出现这样的情况:登陆后,转向处理页面是出现空白页面,不论账号密码是对是错都是空白,没有提示。 然而正确登陆后直接输入管理页面又可以用。 所有转向都不能用,出现空白页。 问题排除: 1、帝国CMS问题 2、服务器问题...

帝国CMS验证码功能升级更有效防止灌水机

帝国CMS验证码功能升级更有效防止灌水机

帝国CMS验证码功能升级,更有效防止灌水机 1、验证码过期时间单位由原来的分钟改为秒,让用户设置验证码更精细,理论上过期时间越短效果越好,能达到更佳效果。 2、验证码过期时间、加密字符串前台和后台分离,更安全。 3、验证码加密验证采用更复杂加密处理,不单单只验证验证码内容,知道验证码内容也无效,防灌...

帝国CMS后台采集不支持HTTPS

帝国CMS后台采集不支持HTTPS

帝国cms模板网就来告诉大家帝国CMS后台采集支持https开头的协议的方法:   修改:/e/class/connect.php文件   在该文件最上面加上以下函数   //获取https链接内容 function getHTTPS($url) {         $ch = curl_init...