网赚论坛

 找回密码
 免费注册
查看: 164|回复: 0
打印 上一主题 下一主题

Verycms调用当日 本月最热点击文章

[复制链接]

23

主题

23

帖子

92

积分

Ⅰ级财主

Rank: 1

积分
92
跳转到指定楼层
楼主
发表于 2017-9-13 19:57:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 作为verycms的fans之一,怎能不作一点点贡献以表达我的忠诚呢。
  verycms是我最早使用的一款cms系统,他的模板功能确实很简单很实用,尤其他的模板可以解析PHP脚本,这就可以增加一些复杂的调用了。
  这回我来教大家如何调用当日最热点击和本月最热点击,实际上原理很简单,找出时间段的文章,然后按点击数降序排序。现在分解教学,一步一步来:
  一、实现按点击数排序
  这个很简单,找到获取文章数组的语句,比如这句:$array=$cms::thread(”num:10;mid:1;”);
  要想实现按点击数排序,只要增加查询条件即可,即增加sql里的order,如何实现呢?把$array获取方式修改成:$array=$cms::thread(”num:10;mid:1;order:hits DESC;”);
  二、实现按当日点击数排序
  有了第一步的基础,要实现按当日点击数排序,只需解决另外一个问题:如何把文章筛选为当天发布的文章?当天,比如今天就是2008-07-22 00:00:00,我们要获取这个时间的时间戳(什么是时间戳,这个不作解析,你想了解的google一下),我们用PHP一个函数strtotime来达到目的:
  strtotime(’2008-07-22 00:00:00′);这样是否正确,如果是今天的就是,但到明天的话那就惨了,所以正解应该这样:strtotime(date(”Y-m-d”));动态的获取时间。有了这个认识,我们来看看$array如何获取文章,方法也很简单,看看下面的语句就可以:
  
  $today = strtotime(date(”Y-m-d”));
  $array=$cms::thread(”num:10;mid:1;where:postdate>$today ;order:hits DESC;”);
  三、实现按本月点击数排序
  有了第二步的思想,那么实现按本月点击数排序也就变更很空易了,学是想办法得到当月1号零时零分零秒的时间戳,我也不再罗嗦了,把代码贴出来大家看看就知道:
  
  $first_day_of_month = strtotime(date(”Y-m-01″));//这里有01就表示是当月第一天了。
  $array=$cms::thread(”num:10;mid:1;where:postdate>$first_day_of_month ;order:hits DESC;”);
  希望这篇文章对刚刚接触verycms的你会有所帮助。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2024-11-27 16:30 , Processed in 0.608401 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表