做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>
效果为: