要实现排行榜,基本逻辑是现在的时间减去以前的时间,然后其中的时间段就是我们所需要的排序时间,代码如下: 年榜的实现方法: [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,然后可以按照点击进行排序,这样就实现了相应的榜单排名。
|