A-A+
ThinkPHP 多表循环遍历输出
在做项目的时候,经常会遇到分类树输出,有可能是多级,有可能是两级,用得较多的应该是两级菜单树了,比如后台的菜单管理,最近做的一个项目是两个表需要循环出来,一个是分类的,另一个是子分类内容,然后这两个分类要整合到一起做成一个菜单树,然后在另外一个页面进行调用存储。
我的天,逻辑好麻烦,好了,先上代码:
ThinkPHP双重循环遍历输出
数据表1 Cat 栏目
数据表2 In 文章
- $cat= D("Cat");
- $in = D("In");
- $total = $cat -> select();
- foreach($total as $k => $v){
- $total[$k]['new'] =$in -> where(array('cat_title' => $v['cat_title'])) -> limit(10) -> select();
- }//xiariboke.net
- $this -> assign('total',$total);
view页面:
- <volist name="total" id="v">
- <dl class="noMr">
- <dt class="comBg senseTle">
- <a href="__APP__/part/{$v.cat_id}/" title="{$v.cat_title}" target="_blank">{$v.cat_title}</a>
- </dt>
- <volist name="v['new']" id="vo">
- <dd>
- <a class="txtellipsis"
- href="__APP__/spart/{$vo.in_id}.html" target="_blank"
- title="{$vo.in_title}">{$vo.in_title}</a>
- <span>{$vo.in_tm}</span>
- </dd>
- </volist>
- </dl>
- </volist>
好了,如果是需要在 menu 下拉框提取的话,就把html去掉就OK了,当然,如果是菜单树的话,还需要更改太多的内容,看自己的需求了,总之,完善一下 tp 还是比较简单的。