考虑用foreach
生成一个类似这样的二维数组: $array['栏目标题']['栏目下的分类']='子栏目标题'
第一维的key为主栏目标题,第二维的key为主栏目下的各个分类。
这样foreach出来,第一层输出key,第二层输出value.
类似:
{foreach item=firstKey from=$array key=key}
{$key}<!--输出主栏目-->
{foreach item=$catValue from=$firstKey key=key2}
{$catValue}<!--输出子栏目标题-->
{/foreach}
{/foreach}
生成一个类似这样的二维数组: $array['栏目标题']['栏目下的分类']='子栏目标题'
第一维的key为主栏目标题,第二维的key为主栏目下的各个分类。
这样foreach出来,第一层输出key,第二层输出value.
类似:
{foreach item=firstKey from=$array key=key}
{$key}<!--输出主栏目-->
{foreach item=$catValue from=$firstKey key=key2}
{$catValue}<!--输出子栏目标题-->
{/foreach}
{/foreach}
$arrary_news = 'SELECT * from 新闻表 WHERE 新闻分类 = $new_lanmu[$i][新闻分类]';
for($j=0;$j<count($arrary_news);$j++){
/*把新闻和他所属的分类关联上*/
$新闻分类id = $new_lanmu[$i][新闻分类]; $arrary2[$新闻分类id][] = arrary($arrary_news[$j][......]);
}}$smarty->assign("columns", $array);
$smarty->assign("news", $array2);
$smarty->display('index.tpl');
在index.tpl中
<!--{section name=columnsid loop=$columns}-->//这里获得所有板块栏目<table width="200" border="1"><!--{section name=newsid loop=$news[$columns[columnsid].新闻分类]}-->//这里获得相应新闻
<tr>
<td>
$news[$columns[columnsid].新闻分类][newsid].title
$news[$columns[columnsid].新闻分类][newsid].author
$news[$columns[columnsid].新闻分类][newsid].content
$news[$columns[columnsid].新闻分类][newsid].hits</td>
</tr>
<!--{/section}--></table><!--{/section}-->没有具体测试 ,大意如此