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

aaa

模型管理增加相应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

}

}

}

本文标题:帝国cms实现文章点击月、周、日排行效果方法

本文链接:https://www.kaifatu.com/article/403.html

相关文章

帝国cms后台如何设置使用(新手可以看看)

首先要安装好自己的帝国cms,具体看安装教程,之后进入后台设置自己的网站。修改幻灯片,logo,二维码等图片(增加新的幻灯片图片时要选择类别为首页幻灯片,不要忘记哦) 修改地址电话等等(里面的信息都改成自己的即可) 修改友情链接(自行添加删…

Kaifatu 帝国cms教程
2021-06-17 446

第三节:分析目标网站栏目

前言:当我们把本地服务器搭建完成后,源码安装完成后,接下来需要去分析被仿的网站,为什么这么做?因为接下来,我们要搭建后台栏目及制作页面等。…

Kaifatu 帝国cms教程
2021-03-03 464

帝国CMS灵动标签循环调用栏目文章

帝国CMS灵动标签循环调用栏目文章的方法:具体方法如下:第一步,增加公共模板变量代码如下:

[e:loop={"select * from [!db.pre!]enewsclass where cl…

Kaifatu 帝国cms教程
2021-04-25 429

帝国cms上传的图片前台不显示解决办法

帝国cms上传的图片前台不显示解决办法…

Kaifatu 帝国cms教程
2021-04-21 511

帝国CMS源码在PHP7.x环境登录后台空白报错

1、全新安装帝国CMS时: 只需安装时MYSQL接口类型选择mysqli即可支持PHP7系列。2、已经安装好帝国CMS换PHP7.*运行环境时:只需修改配置文件/e/config/config.php;将$ecms_…

Kaifatu 帝国cms教程
2021-05-02 314
发表评论
暂无评论