帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流帝国实现文章点击月、周、日排行效果方法思路..[不提供文件,只提供思路] 【本版专题贴子】  
主题:帝国实现文章点击月、周、日排行效果方法思路..[不提供文件,只提供思路] [加入收藏夹]   

phome4429
用户头衔:进士

精华贴   :2
发贴数   :554
经验值   :3711
注册时间:2008-11-28
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 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
                }
        }
}

这个方法是自己瞎整的,至于效率啦,是否合理啦...我自己也不知道....

欢迎大家测试~~~

不提供修改好的文件,请自己修改!如果需要,可以联系本人:QQ442981383

本文首发地址:http://www.abc3210.com/bzzx/ecms/2010-08-23/689.html 【帝国实现文章点击月、周、日排行效果方法】

这里是论坛另外一位牛人写的:http://bbs.phome.net/showthread-13-144999-0.html
他使用的主要是帝国计划任务,我这个是不需要那个~~~





失败注定是真理
**************************
插件问题等请不要加我Q,论坛或我网站提问!
QQ:442981383
插件、风格、问题求助尽在随意
问答、小说、SWFupload、发号抽奖、采集自动审核发布
2010-08-23 16:52:58 已设置保密 顶部 回复 引用 报告 编辑 删除

cncncn
用户头衔:进士

精华贴   :0
发贴数   :1438
经验值   :4048
注册时间:2008-10-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

不错,支持




2010-08-23 17:23:02 已设置保密 顶部 回复 引用 报告 编辑 删除

nbatt
用户头衔:举人

精华贴   :0
发贴数   :99
经验值   :612
注册时间:2008-04-15
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

用不到。嘎嘎




2010-08-23 17:47:53 已设置保密 顶部 回复 引用 报告 编辑 删除

garywork
用户头衔:举人 *

精华贴   :0
发贴数   :266
经验值   :1376
注册时间:2009-04-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

谢谢平凡!!!




2010-08-23 17:48:17 已设置保密 顶部 回复 引用 报告 编辑 删除

kofjh
用户头衔:进士

精华贴   :0
发贴数   :545
经验值   :1816
注册时间:2008-12-14
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

牛b




2010-08-23 18:45:32 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :6565
经验值   :20585
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

支持




2010-08-24 07:57:13 已设置保密 顶部 回复 引用 报告 编辑 删除

500919
用户头衔:探花

精华贴   :0
发贴数   :11660
经验值   :31188
注册时间:2009-03-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

再顶一下




2010-08-24 16:53:59 已设置保密 顶部 回复 引用 报告 编辑 删除

feier
用户头衔:探花

精华贴   :0
发贴数   :6751
经验值   :21098
注册时间:2008-07-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

不错




2010-08-25 07:51:08 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1