帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流[分享]完善改进版DIG(DIGTOP)排行,[ecmsinfo]标签使用SQL 【本版专题贴子】  
主题:[分享]完善改进版DIG(DIGTOP)排行,[ecmsinfo]标签使用SQL [加入收藏夹]   

archer100
用户头衔:举人

精华贴   :0
发贴数   :191
经验值   :748
注册时间:2009-08-31
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[分享]完善改进版DIG(DIGTOP)排行,[ecmsinfo]标签使用SQL
会者不难啊,其实没啥难度,就是给个思路出来,免得大家再琢磨了。
我这个是实现最后一次顶时间开始,之前7天内、20条的数据的,
比如周排行,例如今天2009年2月10日,但是最后一个顶是1月30日的,那么就应该从1月30日开始往前7天到1月23日之间的数据。(好像按照以前的修改方法周排行的话就没数据显示了,以前的好像是按照文章发表时间算的,肯定不合理)。


1、首先要建立diggtoptime字段。(xxxxx_ecms_news表的,我这里就是按照新闻的表,其他表原理一样)

2、修改、\e\public\digg\index.php 文件中,让点“顶”增加1点“顶值”的同时,更新此次“顶的时间记录”,以便以后获取时间范围内排行判断之用。


将:
$sql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]." set diggtop=diggtop".$n." where id='$id'");
改为:
$sql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]." set diggtop=diggtop".$n." , diggtoptime=now() where id='$id'");




3、最后,模板中调用[ecmsinfo]标签,使用SQL语句。下面是 最后一次顶时间开始,之前7天内、20条的数据。改天数范围是“interval 7 day”,3天就是“interval 3 day”。 改为读取10条就将“LIMIT 20”改为“LIMIT 10”即可。

标签示例如下:



[ecmsinfo]"select * from [!db.pre!]ecms_news Where phome_ecms_news.checked=1 and diggtoptime>date_sub((select  diggtoptime from [!db.pre!]ecms_news ORDER BY diggtoptime DESC LIMIT 1), interval 7 day) ORDER BY diggtop DESC, diggtoptime DESC LIMIT 20",10,30,0,24,13,0[/ecmsinfo]




完。

不明白的下面回帖吧。

不过这样也不是100%完美,因为如果时间跨度内被顶的文章数不够读取限制的10条或者20条,就会显示不满。不过这也是可以理解的,人气太少的站可以没事站长自己找几篇文章来顶顶就好了。


上传以下图片:


[该贴被修改 8 次,最后修改时间 2009-12-03 12:07:10 ]


问候吧听书网:http://wenhouba.com/ , 有声小说在线收听网:http://wenhouba.com/
2009-12-03 11:32:21 已设置保密 顶部 回复 引用 报告 编辑 删除

jaycn
用户头衔:探花

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

不错




2009-12-03 14:50:47 已设置保密 顶部 回复 引用 报告 编辑 删除

shuangrong168
用户头衔:进士

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

正需要这个功能,多谢多谢



[建站][仿站] [域名][空间] QQ:287785998
2009-12-03 16:33:37 已设置保密 顶部 回复 引用 报告 编辑 删除

mini
用户头衔:进士

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

支持




2009-12-04 08:18:19 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

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