smarty section三层循环

pcat.php:

<?php
require_once "ext/include/smarty_config.php";

$query="select cat_id,parent_id,cat_name from sdb_goods_cat where disabled='false' and parent_id=0 order by p_order asc,cat_id asc";//产品一级分类
$result=mysql_query($query);
while($row=mysql_fetch_array($result))
{
 $cat1=$row['cat_id'];
 $query2="select cat_id,parent_id,cat_name from sdb_goods_cat where disabled='false' and parent_id='$cat1' order by p_order asc,cat_id asc";//产品二级分类
 $result2=mysql_query($query2);
 while($row2=mysql_fetch_array($result2))
 {
  $cat2=$row2['cat_id'];
  $query3="select cat_id,parent_id,cat_name from sdb_goods_cat where disabled='false' and parent_id='$cat2' order by p_order asc,cat_id asc";//产品三级分类
  $result3=mysql_query($query3);
  while($row3=mysql_fetch_array($result3))
  {
   //$array_procat3[]=array($row3['cat_id'],$row3['parent_id'],$row3['cat_name']);
   $array_procat3[]=array('cat_id'=>$row3['cat_id'],
                                'parent_id'=>$row3['parent_id'],
                                 'cat_name'=>$row3['cat_name']
       );
  }
  //$array_procat2[]=array($row2['cat_id'],$row2['parent_id'],$row2['cat_name'],$array_procat3);
  $array_procat2[]=array('cat_id'=>$row2['cat_id'],
       'parent_id'=>$row2['parent_id'],
        'cat_name'=>$row2['cat_name'],
         'pcat'=>$array_procat3
       );
  unset($array_procat3); //在使用完后要注销,因为使用赋值语句对数组进行赋值时不会将它清空,而是将新数组作为它的一个元素增加,为了不产生副作用,这里使用unset()是必需的。如果不注销,第二次循环的结果会包含第一循环的数据,如分类2的文章跑到分类1中来。
 }
 //$array_procat[]=array($row['cat_id'],$row['parent_id'],$row['cat_name'],$array_procat2);
 $array_procat[]=array('cat_id'=>$row['cat_id'],
      'parent_id'=>$row['parent_id'],
       'cat_name'=>$row['cat_name'],
        'pcat'=>$array_procat2
      );
 unset($array_procat2);
}
//print_r($array_procat);exit;
$smarty->assign("array_procat",$array_procat);
$smarty->display("pcat.tpl");
?>

pcat.tpl:

<div>
 <{section name=loop1 loop=$array_procat}>
 <div>
  <div><{$array_procat[loop1].cat_name}></div>
   <{section name=loop2 loop=$array_procat[loop1].pcat}>
   <div style="padding-left:50px;"><{$array_procat[loop1].pcat[loop2].cat_name}></div>
    <{section name=loop3 loop=$array_procat[loop1].pcat[loop2].pcat}>
    <div style="padding-left:100px;"><{$array_procat[loop1].pcat[loop2].pcat[loop3].cat_name}></div>
    <{/section}>
   <{/section}>
 </div>
 <{/section}>
</div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值