A-A+

ThinkPHP 多表循环遍历输出

2017年01月06日 PHP开源系统 暂无评论 阅读 4 views 次

在做项目的时候,经常会遇到分类树输出,有可能是多级,有可能是两级,用得较多的应该是两级菜单树了,比如后台的菜单管理,最近做的一个项目是两个表需要循环出来,一个是分类的,另一个是子分类内容,然后这两个分类要整合到一起做成一个菜单树,然后在另外一个页面进行调用存储。

我的天,逻辑好麻烦,好了,先上代码:

ThinkPHP双重循环遍历输出

数据表1 Cat 栏目

数据表2 In 文章

  1. $cat= D("Cat");  
  2. $in = D("In");  
  3. $total = $cat -> select();  
  4. foreach($total as $k => $v){   
  5. $total[$k]['new'] =$in -> where(array('cat_title' => $v['cat_title'])) -> limit(10) -> select();   
  6. }//xiariboke.com  
  7. $this -> assign('total',$total);  

view页面:

  1. <volist name="total" id="v">  
  2.                 <dl class="noMr">  
  3.                     <dt class="comBg senseTle">  
  4.                     <a href="__APP__/part/{$v.cat_id}/" title="{$v.cat_title}" target="_blank">{$v.cat_title}</a>  
  5.                     </dt>  
  6.                     <volist name="v['new']" id="vo">  
  7.                         <dd>  
  8.                             <a class="txtellipsis"   
  9. href="__APP__/spart/{$vo.in_id}.html" target="_blank"   
  10. title="{$vo.in_title}">{$vo.in_title}</a>  
  11.                             <span>{$vo.in_tm}</span>  
  12.                         </dd>  
  13.                     </volist>   
  14.                 </dl>  
  15.             </volist>  

好了,如果是需要在 menu 下拉框提取的话,就把html去掉就OK了,当然,如果是菜单树的话,还需要更改太多的内容,看自己的需求了,总之,完善一下 tp 还是比较简单的。

标签:

给我留言