PHPCMS呼叫多個欄目下文章的兩個辦法
阿新 • • 發佈:2019-01-08
第一種、直接寫子欄目id ,用cat in
{pc:get sql="SELECT * from v9_news where status=99 and catid in(21,22,23,24,25) thumb!='' order by id DESC" num="7" return="data"}
{loop $data $r}
<li><a href="{$r[url]}" title="{$r[title]}" target="_blank">{str_cut($r['title'],40)}({date('m-d',$r[inputtime])})</span></a></li>
{/loop}
{/pc}
這種方法的好處:可以想取那個欄目可以自定義
缺點:要寫多個id,後臺增加了欄目的話得再把id寫進去
第二種,根據父欄目id,如上面的21,22,23,24,25都是 15下面的子欄目,可以這樣寫:
{loop subcat(15) $k $v}
{php $subcatid[] = $k;}
{/loop}
{php $subcatid = implode(',', $subcatid);}
{pc:get sql="SELECT * from v9_news where status=99 and catid in ($subcatid) order by id DESC" num="7" return="data" }
{loop $data $r}
<li><span><strong><a href="{$CATEGORYS[$r[catid]][url]}">[{$CATEGORYS[$r[catid]][catname]}]</a><a href="{$r[url]}" title="{$r[title]}" target="_blank">{str_cut($r['title'],40)}</a></strong><em>[{date('Y-m-d',$r[inputtime])}]</em></span></li>
{/loop}
{/pc}
好處:只要寫一個父欄目id,自動 取下級子欄目id
缺點:迴圈父欄目下所有的子欄目id,如果某個子欄目的內容不想顯示的話,不好實現
{pc:get sql="SELECT * from v9_news where status=99 and catid in(21,22,23,24,25) thumb!='' order by id DESC" num="7" return="data"}
{loop $data $r}
<li><a href="{$r[url]}" title="{$r[title]}" target="_blank">{str_cut($r['title'],40)}({date('m-d',$r[inputtime])})</span></a></li>
{/loop}
{/pc}
這種方法的好處:可以想取那個欄目可以自定義
缺點:要寫多個id,後臺增加了欄目的話得再把id寫進去
第二種,根據父欄目id,如上面的21,22,23,24,25都是 15下面的子欄目,可以這樣寫:
{loop subcat(15) $k $v}
{php $subcatid[] = $k;}
{/loop}
{php $subcatid = implode(',', $subcatid);}
{pc:get sql="SELECT * from v9_news where status=99 and catid in ($subcatid) order by id DESC" num="7" return="data" }
{loop $data $r}
<li><span><strong><a href="{$CATEGORYS[$r[catid]][url]}">[{$CATEGORYS[$r[catid]][catname]}]</a><a href="{$r[url]}" title="{$r[title]}" target="_blank">{str_cut($r['title'],40)}</a></strong><em>[{date('Y-m-d',$r[inputtime])}]</em></span></li>
{/loop}
{/pc}
好處:只要寫一個父欄目id,自動
缺點:迴圈父欄目下所有的子欄目id,如果某個子欄目的內容不想顯示的話,不好實現