本文实例讲述了Thinkphp中数据按分类嵌套循环实现方法。分享给大家供大家参考。具体实现方法如下:

做thinkphp时要用到循环里面嵌套循环的,并第二个循环是和外面的有关联的。
thinkphp官网给出的文档为:

复制代码 代码如下:<volist name="list" id="vo"> 
    <volist name="vo["sub"]" id="sub"> 
        {$sub.name} 
    </volist> 
</volist>

我这里要用的表为:分类表(表1),数据表(表2)
要实现的效果为:

<表1_1> 
  <表2_1/> 
  <表2_2> 
</表1_1> 
<表1_2> 
  <表2_3/> 
  <表2_4> 
</表1_2> 

其实原理也是先查出分类表(表1),再把表1和表2相关联查询,最后以二维数组的方式输出

后台代码如下:

复制代码 代码如下:$m=M("表1"); 
$m1=M("表2"); 
 
$parent=$m->select(); 
foreach($parent as $n=> $val){ 
    $parent[$n]["voo"]=$m1->where("表2里和表1相关联的字段=".$val["表1id"]."")->select(); 

$this->assign("list",$parent); 
$this->display();
前台输出显示:

复制代码 代码如下:<volist name="list" id="vo"> 
    <li><b>{$vo.id}</b></li> 
    <volist name="vo["voo"]" id="sub"> 
       <li>{$sub.title}</li> 
    </volist> 
</volist>
效果如下图所示:

希望本文所述对大家的ThinkPHP程序设计有所帮助。