帝国cms实现文章点击月、周、日排行效果方法
模型管理增加相应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
}
}
}
相关帝国教程
- 12-23帝国cms数据表phome_ecms_news_check
- 04-29帝国CMS TAGS标签随机颜色/大小/变化的调用方法!使用[showtags]标签随机调用!
- 10-12帝国CMS7.5内核版本tags伪静态设置方法静态规则方法是什么?
- 04-18帝国cms灵动标签取得内容和栏目链接地址调用代码是什么?
- 05-04帝国CMS模板页面用PHP获取任意层级栏目的ID包括上级上上级
- 01-25帝国cms灵动标签调用复选框字段去除“|” 符合
- 09-04帝国CMS当前栏目高亮教程
- 02-12帝国CMS调用发布者所有文章列表的两种方法!包含高级应用!
- 09-24帝国CMS报错Fatal error: Maximum execution time of
- 01-01帝国cms目录结构讲解
- 06-22修复帝国CMS邮件标题乱码问题
- 12-19phome_enewspayrecord 数据表字段解释(在线支付记录表)
- 06-15帝国cms灵动标签同时调用头条(1级、2级)、推荐(1级、2级)
- 09-30帝国cms 电影在内容页和列表页调用真实地址的方法
- 11-30帝国CMS调用最新300条中点击率最高的2条
- 08-30帝国cms清理生成的重复垃圾信息html
- 01-18帝国cms源码修改默认附件d目录教程与方法是什么?
- 11-11帝国cms当前栏目链接在列表模板里调用的方法
- 05-27帝国cms列表模板(list.var)隔行显示不同内容,不规则展示列表
- 10-17帝国cms wap里调用出栏目名称代码