频道总排行调用方法
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