最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 帝国cms模板实现文章点击月、周、日排行效果方法

    正文概述 管理员   2025-09-07   1

    假设条件:

    模型: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
    }
    }
    }
     
    

    站长源码网 » 帝国cms模板实现文章点击月、周、日排行效果方法

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元