推56论坛

 找回密码
 立即注册(限中文)

QQ登录

只需一步,快速开始

查看: 793|回复: 0

[php168教程] php168Mysql万能标签调用指定时间段内特定栏目信息方法

[复制链接]
发表于 2018-3-5 16:25:53 | 显示全部楼层 |阅读模式

  假设我要调用在下载模型中内容的 本周下载次数排序,而且是只要显示在最近一个月之内发布的,那前提我们一定要了解:
  下载模型对应的数据表是p8_article_content_101
  文章标题对应的数据表是p8_article
  控制发布时间的数据字段是p8_article 里的 posttime
  而通过本周下载次数排序的数据字段是p8_article_content_101 里的 week_hits
  然后就可以得出结论SQL:
  SELECT R.*,A.*
  FROM p8_article A LEFT JOIN p8_article_content_101 R ON A.aid=R.aid //连接2个数据表,确保aid一致
  WHERE A.yz = 1 //显示已通过验证
  AND A.posttime>UNIX_TIMESTAMP()-86400*30 //控制就在这个月之内发布
  AND A.mid= 101 //对应的模型是下载模型
  ORDER BY R.week_hits DESC //按照本周下载次数排序
  LIMIT 0,10 //提取前10条
  其实这里说的重点是对时间方面的控制:UNIX_TIMESTAMP()
  以后大家记住如果要控制就显示当天的数据,那对应的那个时间字段就要大于UNIX_TIMESTAMP()-86400
  要控制就显示本周的数据,那对应的那个时间字段就要大于UNIX_TIMESTAMP()-86400*7
  要控制就显示本月的数据,那对应的那个时间字段就要大于UNIX_TIMESTAMP()-86400*30
  ---------------------------------------------------------------------------------------------------
  我们再做个简单示范:
  假设我要调用在本月发布的最热文章,而不是全部时间,那前提我们一定要了解:
  文章标题对应的数据表是p8_article
  控制发布时间的数据字段是p8_article 里的 posttime
  控制浏览次数的数据字段是p8_article 里的 hits
  而通过文章来排序的数据字段是p8_article 里的 list
  然后就可以得出结论SQL:
  SELECT *
  FROM p8_article A
  WHERE A.yz = 1      //显示已通过验证
  AND A.posttime>UNIX_TIMESTAMP()-86400*30       //控制就在这个月之内发布
  AND A.mid= 0 //对应的模型是文章模型
  ORDER BY A.list DESC //按照文章排序
  LIMIT 0,10 //提取前10条
  最后我想或许也很多人想问,如果要控制显示指定栏目下的内容怎么办?那就是多加个fid IN (栏目id)
  在()里输入你指定栏目的id即可,如 fid IN (31,32,33)  这样,那这里我们再综合上以上那个示范:
  假设我要调用在本月发布在 栏目31 和 栏目32 和 栏目33 下的最热文章,而不是全部时间,那前提我们一定要了解:
  文章标题对应的数据表是p8_article
  控制发布时间的数据字段是p8_article 里的 posttime
  控制浏览次数的数据字段是p8_article 里的 hits
  控制栏目的数据字段是p8_article 里的 fid
  而通过文章来排序的数据字段是p8_article 里的 list
  然后就可以得出结论SQL:
  SELECT *
  FROM p8_article A
  WHERE A.yz = 1      //显示已通过验证
  AND A.posttime>UNIX_TIMESTAMP()-86400*30       //控制就在这个月之内发布
  AND A.fid IN (31,32,33)    //就读取栏目31 和 栏目32 和 栏目33
  AND A.mid= 0 //对应的模型是文章模型
  ORDER BY A.list DESC //按照文章排序
  LIMIT 0,10 //提取前10条
  当
  然了,最后配合一个简单的模板代码: <div style="line-height:180%;">·<A
  target='_blank'
  style="$fontcolor;$fontweight">$title</a></div>   即可大功告成                    

本版积分规则

关闭

推56站长论坛推荐上一条 /1 下一条

站长QQ
在线咨询
咨询热线
QQ:405327411
站长

QQ|关于我们|联系我们|免责声明|网站导航|站长论坛 ( 豫ICP备11018337号-5 )

王宝臣旗下网站 推56论坛(www.tui56.com)站长论坛 SEO论坛 网络营销论坛 新手站长论坛 网络推广论坛 站长社区 站长网

Powered by Discuz! X3.4 Licensed

©2001-2013 Comsenz Inc.

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