推56论坛

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

QQ登录

只需一步,快速开始

    查看: 255|回复: 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站长论坛就够了!个性签名请到个人资料里面修改……

    本版积分规则

    关闭

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

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

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

    王宝臣旗下网站 推56论坛(www.tui56.com|ask.tui56.com|blog.tui56.com|daohang.tui56.com)

    Powered by Discuz! X3.4 Licensed

    ©2001-2013 Comsenz Inc.

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