假设我要调用在下载模型中内容的 本周下载次数排序,而且是只要显示在最近一个月之内发布的,那前提我们一定要了解:
下载模型对应的数据表是qb_article_content_101
文章标题对应的数据表是qb_article
控制发布时间的数据字段是qb_article 里的 posttime
而通过本周下载次数排序的数据字段是qb_article_content_101 里的 week_hits
然后就可以得出结论SQL:
SELECT R.*,A.*
FROM qb_article A LEFT JOIN qb_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
---------------------------------------------------------------------------------------------------
我们再做个简单示范:
假设我要调用在本月发布的最热文章,而不是全部时间,那前提我们一定要了解:
文章标题对应的数据表是qb_article
控制发布时间的数据字段是qb_article 里的 posttime
控制浏览次数的数据字段是qb_article 里的 hits
而通过文章来排序的数据字段是qb_article 里的 list
然后就可以得出结论SQL:
SELECT *
FROM qb_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 下的最热文章,而不是全部时间,那前提我们一定要了解:
文章标题对应的数据表是qb_article
控制发布时间的数据字段是qb_article 里的 posttime
控制浏览次数的数据字段是qb_article 里的 hits
控制栏目的数据字段是qb_article 里的 fid
而通过文章来排序的数据字段是qb_article 里的 list
然后就可以得出结论SQL:
SELECT *
FROM qb_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 >·<A HREF="bencandy.php?fid=$fid&aid=$aid" target='_blank' >$title</a></div> 即可大功告成
---------------------------------------------------------------------------------------------------------------------------------------------
SELECT *
FROM `qb_keyword`
WHERE `num` !=0
Order by list
DESC
LIMIT 15
Mysql语句说明:
SELECT * //选择
FROM `qb_keyword` //来之qb_keyword数据表
WHERE `num` !=0 //意思是标签(关键字)的
相关内容数量,这里不为0表示至少有1条内容
Order by list //排序 - 根据list(这个list来之当前数据表里的字段)来排列
DESC //从大到小 反之就用 ASC
LIMIT 15 //取前15条或就显示15条
使用模板代码:
<div "background:url($webdb[www_url]/images/default/i/$i.gif) no-repeat 0px 2px;height:21px;text-indent:1.3em;"><A HREF="$webdb[www_url]/do/search.php?&keyword=$keywords" target='_blank' >$keywords</a></div>
模板代码说明:
$url变量改成了:$webdb[www_url]/do/search.php?&keyword=$keywords 提取当前标签(关键字)直接进行搜寻相关内容
$keywords 因为qb_keyword数据表里的存放标签(关键字)的字段是keywords,所以我们定义用$keywords变量来取值
友情提示:在标签模板代码中调用变量一律为$字段名称,除开$url要自定义。