帝国CMS年榜、月榜、周榜、日榜排序的实现方法

要实现排行榜,基本逻辑是现在的时间减去以前的时间,然后其中的时间段就是我们所需要的排序时间,代码如下:

年榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*365 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

月榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*30 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

周榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*7 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

日榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*1 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

代码解析:
以年榜为例来解析,其中的关键代码是“newstime>UNIX_TIMESTAMP()-86400*365 ”,这一句表示时间要大于当前时间减去一年前的时间,结果就表示过去一年的时间,有点绕口,大家只需记住UNIX_TIMESTAMP()-86400*365,这个365表示一年365天,那么,月这个数字改成30就可以了,周改成7,日改成1,然后可以按照点击进行排序,这样就实现了相应的榜单排名。

添加新评论