示例代碼如下,
{pc:content action="hits" catid="$catid" num="2" order="views DESC"}
{loop $data $key $r}
<div class="hotNews">
<div class="space01"></div>
<h2><a href="{$r[url]}" target="_blank" title="{$r[title]}"{title_style($r[style])}>{$r[title]}</a></h2>
{pc:get sql="SELECT relation FROM v9_news_data a WHERE a.id=$r[id]" return="relation"}
{loop $relation $v}
{php $ins = implode(',', explode("|", $v[relation]));}
{pc:get sql="SELECT * FROM v9_news a WHERE a.id in ($ins)" return="more"}
{loop $more $v2}
<h3><a href="{$v2[url]}" target="_blank" title="{$v2[title]}"{title_style($v2[style])}>{$v2[title]}</a></h3>
{/loop}
{/pc}
{/loop}
</div>
{/loop}
{/pc}
代碼分析
1.獲取當前文章的relation字段(記錄了相關文章的id集合,例如5|6|7|8),返回的結果是列表,其實返回的數據行就一行
{pc:get sql="SELECT relation FROM v9_news_data a WHERE a.id=$r[id]" return="relation"}
2.將relaiton字段的值修改爲sql需要的格式
{php $ins = implode(',', explode("|", $v[relation]));}
例如,可將5|6|7|8變成5,6,7,8
3.獲取所有的相關文章
{pc:get sql="SELECT * FROM v9_news a WHERE a.id in ($ins)" return="more"}