帝国cms模板实现文章点击月、周、日排行效果方法
假设条件:模型:news 文章ID=35在模型管理增加相应3个字段,分别是:DayHits,WeekHits,MonthHits 这3个字段全部在主表,int类型字段再增加ConditionHits 字段,为文本型,同样在主表 注意大小写$time=mktime(0,0,0,8,5,2010);//设……
假设条件:
模型:news 文章ID=35
在模型管理增加相应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}}}
- 上一篇
修改帝国cms6.5模板整合phpwind8.0后JS调用登陆状态模板
复制以下完整代码到后台"JS调用登陆模版"就okphpwind装在bbs目录,cms安在了根目录,红色部分因此做了修改<form name="login" method="post" action="bbs/login.php"> <input type="hidden" value="http://localhos
- 下一篇
帝国增加字段提示Row size too large怎么解决
增加字段提示以下信息,如何解决?Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBsalter table ***_ecms_infocla