例子:

学生模块

————学生管理

————添加学生

栏目模板

————管理栏目

用户模块

————用户管理

————权限管理

————分组管理

图标模块

————图标模块

系统设置

————学校模块

————后台首页

————合作单位

————上报教学站点

模板html代码:

{volist name="res" id="v"}
<div id="div1">
{$v.title}
{if condition="$v['child'] neq ''"}
{volist name="v.child" id="v2"}<div id="div2">————{$v2.title}</div>
{/volist}
{/if}
</div>
{/volist}

TP5 控制器代码:

     $res = Db::name('menu')->where('flid',1)->order('uid desc')->select();foreach($res as $k => $v){$res2 = Db::name('menu')->where("pid",$v['id'])->select();$res[$k]['child'] = $res2;}$this->assign('res',$res);

首先列出所有一级栏目,

再列出对应一级栏目的二级栏目

3级 嵌套循环:http://blog.csdn.net/haibo0668/article/details/78464944

进阶例子:

         $where = new Where;if($state){$where['state'] = $state-1;}if($search){$where['number'] = ['like', "%".$search."%"]; }$where['deleted'] = 0;$where['user_id'] = $Session['user_id'];$list =  Db::name('order')->field('id,number,price,type,state,time,pay_time')->where($where)->order(['id' => 'desc'])->paginate(10,false,['query' => request()->param(),'type' => 'page\Page','var_page'  => 'page']);if(!empty($list)){foreach($list as $k => $v){$oprs = Db::name('order_product')->field('id,title,num,price,pid,controller,img')->where('number',$v['number'])->select();if(!empty($oprs)){foreach($oprs as $k2 => $v2){if($v2['controller']=='Combination'){//组合$p_list=  Db::name('order_product_clist')->field('id,title,controller,price,img,type_mold,num,pid')->where('opid',$v2['id'])->select();if(!empty($p_list)){$cbrs=[];foreach($p_list as $k3=> $v3){// //$price31 +=$v3['price'];$cbrs[$k3]['id']=$v3['pid'];$cbrs[$k3]['title']=$v3['title'];// //$cbrs['price']=$v3['price'];$cbrs[$k3]['img']=$v3['img']?\app\admin\model\Common::file_url($v3['img']):$this->system_config['system_index_no_img'];if($v3['controller']=='Live'){$ttt="直播";}elseif($v3['controller']=='Video'){$ttt="点播";}elseif($v3['controller']=='Testpaper'){$ttt="试卷";}elseif($v3['controller']=='Shop'){$ttt="商城";}else{$ttt="其它";}$cbrs[$k3]['controller']=$v3['controller'];$cbrs[$k3]['type_title']=$ttt;}}else{$cbrs=[];}}if($v2['controller']=='Testpaper'){//试卷  试卷ID要加密//$v2['id'] = 21;$v2['pid'] = model('index/CommonModel')->lock_url($v2['id'],'id');}else{$v2['pid'] =$v2['pid'];}if($v2['controller']=='Live'){$type_title1='直播';}elseif($v2['controller']=='Video'){$type_title1='点播';}elseif($v2['controller']=='Testpaper'){$type_title1='试卷';}elseif($v2['controller']=='Shop'){$type_title1='商品';}elseif($v2['controller']=='Combination'){$type_title1='组合';}else{$type_title1='商品';}$v2['type_title']=$type_title1;$v2['img'] =$v2['img']?\app\admin\model\Common::file_url($v2['img']):$this->system_config['system_index_no_img'];$v2['child'] =$cbrs;$oprs[$k2] = $v2;}}else{$oprs=[];}$v['child'] =$oprs;$list[$k] = $v;}}

出处:http://bbs.csdn.net/topics/392029744



TP5 foreach 2级(二级) 嵌套循环相关推荐

  1. PHPMywind while 二级嵌套循环

    目标:获取一级栏目以及该栏目下的二级栏目内容 以下是循环部分的代码: <?php$sql1 = "SELECT * FROM `#@__infoclass` WHERE length ...

  2. tp5 foreach循环出现Indirect modification of overloaded element of think\paginator\driver\Bootst错误

    thinkphp5使用paginator分页查询数据后,需要foreach便利处理某一字段的数据,会出现类似题目的错误.主要是因为tp5使用分页类读取的数据不是纯数组的格式!所以在循环的时候需要用数据 ...

  3. (转)HBase二级索引与Join

    二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性.RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案. 这篇文章会以HBase做为对象来探讨如何基于Hba ...

  4. 大学生计算机二级大集报名最好,在校大学生如何报名计算机二级?

    2009-12-05 回答 首先要根据你的所学专业来衡量自己考哪项 计算级二级有c语言, vb, vf, java, access, c++ 六项可选 考其中一个你会的 考下来能拿计算机二级了 考试分 ...

  5. php循环volist,ThinkPHP中循环遍历的两种方法(volist和foreach标签)

    在ThinkPHP中系统提供了两个标签来实现便利操作:volist标签和foreach标签. volist语法格式: 循环体 注意:volist是双标签语句,需要闭合. foreach语法格式: 循环 ...

  6. java初级面试复习总结大全

    知识点 1.throwable:继承自Object类,实现serializable接口,两个子类 error和 exception 二者的不同之处: Exception: 1.可以是可被控制(chec ...

  7. CGB2005 0831 jt5

    0831 江哥链接 https://blog.csdn.net/qq_16804847/article/details/108315987 day05 问题归纳总结 子类继承父类=属性/方法/属性的值 ...

  8. Java EE 企业级应用开发教程 第2版

    Java EE 企业级应用开发教程 第2版 Spring 介绍 概述 分层的 Java 一站式轻量级开源框架 控制反转 (IoC) 面向切面编程(AOP) 优点 非侵入式设计 降低耦合性,方便开发 支 ...

  9. Hibernate查询缓存全面分析

    http://blog.csdn.net/security08/article/details/5670980 这里介绍Hibernate查询缓存对Iterator不起作用,只对List起作用. 缓存 ...

最新文章

  1. 利用MOG2背景模型提取运动目标的OpenCV代码
  2. javah导出类的头文件抛出异常——java.lang.IllegalArgumentException: Not a valid class name(原因及解决方法)
  3. 为memcached增加缓存依赖的程序实现
  4. 用过那些号称媲美迅雷的下载神器,发现没一个能打的。
  5. 学术论文SCI、期刊、毕业设计中的图表专用软件
  6. 内置式永磁同步电机IPMSM,基于虚拟信号注入法最大转矩电流比MTPA控制仿真模型
  7. 可以讨论HTML5的QQ群有哪些,QQ群有哪些种类你都知道吗?
  8. 求顺序表的交集和并集
  9. 靠一套PPT上市估值120亿:新能源韭菜的自我修养
  10. 【效率】代码对比工具,我就用这6个
  11. dlink虚拟服务器设置,dlink虚拟服务器设置
  12. 马自达css滑动按钮,纯css的滑块开关按钮
  13. jq实现购物车结算和数量更改功能
  14. mybatis-plus clickhouse支持分页
  15. memcached与redis技术的对比试验
  16. 【千寻位置前端校招笔试、一面、二面】
  17. 解决:JedisNoReachableClusterNodeException: No reachable node in clust
  18. 码云新增 PR 显示权限助力计算机教学
  19. c语言重修,C语言重修班复习.ppt
  20. 那些很厉害的人是怎么构建知识体系的

热门文章

  1. Linux内核简介、版本号、发布历史及发行版
  2. 通过身份证号获取个人信息(JAVA代码)
  3. 俞敏洪成功语录15条
  4. Himall商城支付事件、链接类型
  5. 二进制与、或、非、异或运算
  6. Mysql迁移到Oracle
  7. 「业务架构」TOGAF建模系列:业务足迹图
  8. Mac 安装 JDK1.8,Linux 安装 JDK1.8,Windows安装JDK1.8
  9. 带你全面掌握高级知识点!毕业一年萌新的Android大厂面经,论程序员成长的正确姿势
  10. springMVC中的@ModelAttribute注解