频道总排行调用方法
1
2
3
4
5
6
7
8
9
10
|
<div class = "box" >
<h5 class = "title-2" >频道总排行</h5>
{pc:get sql= "select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.views desc" num= "10" cache= "3600" }
<ul class = "content digg" >
{loop $data $r }
<li> <a href= "{$r[url]}" title= "{$r[title]}" target= "_blank" >{str_cut( $r [title],36, '...' )}</a></li>
{/loop}
</ul>
{/pc}
</div> |
频道月排行调用方法
1
2
3
4
5
6
7
8
9
10
|
<div class = "box" >
<h5 class = "title-2" >频道总排行</h5>
{pc:get sql= "select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.views desc" num= "10" cache= "3600" }
<ul class = "content digg" >
{loop $data $r }
<li> <a href= "{$r[url]}" title= "{$r[title]}" target= "_blank" >{str_cut( $r [title],36, '...' )}</a></li>
{/loop}
</ul>
{/pc}
</div> |
调用全站所有文章排行的方法:
1
2
3
4
5
6
7
8
9
|
<div class = "idxTopApps contents" >
<ul class = "indexIcns" >
{pc:get sql= "SELECT a.id,a.url,a.thumb,a.status,b.hitsid,b.views FROM v9_download a, v9_hits b WHERE a.status=99 and a.id=substring(b.hitsid,5) ORDER BY b.views DESC" num= "6" }
{loop $data $r }
<li><a href= "{$r['url']}" ><img src= "{$r['thumb']}" /></a></li>
{/loop} {/pc} </ul> </div> |
可以看到“substring(b.hitsid,5)”是截取hitsid字段,从左往右数第5个字符串,即“c-2-5”从左往右数,1个“c”,1个“2”,2个“-”,第5个字符就是“5”,截取后只剩下了第2个“-”后的id,到达了最终提取id的目的。当然,其中我还加入了另一个条件“status=99”,这个表示已经审核通过的文章,这个可有可无。
本文转自 gutaotao1989 51CTO博客,原文链接:http://blog.51cto.com/taoyouth/1722953