本文较为详细的对ThinkPHP的volist标签嵌套的用法阐述如下:

首先,在Thinkphp开发手册中,有关于标签嵌套的解释说明。如下:

标签嵌套:

模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套。

系统内置的标签中,volist(及其别名iterate)、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等标签都可以嵌套使用。例如:

{$sub.name}

上面的标签可以用于输出双重循环。

默认的嵌套层次是3级,所以嵌套层次不能超过3层,如果需要更多的层次可以指定TAG_NESTED_LEVEL配置参数。但是在Action中具体应该怎样赋值“list”呢?从说明中可以看出,list应该是一个二维数组,下边是一段测试代码,经测试可以使用。

$Baojia=new Model('baojia');

$Class=new Model('class');

$parent=$Class->select();

foreach($parent as $n=> $val){

$parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select();

}

$this->assign('list',$parent);

{$vo.name}

{$sub.name}

数据库中定义了两个表,一个是报价表,一个是分类表,实现的功能是像树形菜单一样,显示分类,每个分类下边是各个型号的报价。

代码主要功能是:

1.首先创建模型:

$Baojia=new Model('baojia');

$Class=new Model('class');

2.然后查询分类中的数据,这一步非常重要,因为我们知道,数据库查询返回的是类似表格的二维形式的数据,当我们取出单条数据时,相当与读取每行数据。当调用时,thinkphp后台会自动读取每一行数据。

$parent=$Class->select();

将报价中的数据存入$parent中,其中$n是$parent数组的序号,也就相当于存入$parent中的数据表,每行添加一个索引,这个索引指向属于这个分类的报价。

foreach($parent as $n=> $val){

$parent[$n]['voo']=$Baojia->where('belongto=\''.$val['name'].'\'')->select();

}

3.最后:

$this->assign('list',$parent);

显示输出!

通过这个程序,可以更深入的理解标签,其实如果在数据库操作中,标签的name只能assign 成数据库表类型(当然也可以是数组型,因为数据库查询得到的数据本身就是数组型的),当我们在视图页面调用标签时,特别是嵌套调用时,始终记住每一层的name都必须是数组型的,像本程序中,最外层,这里的list就是我们最初定义的$parent,这个变量指向查询class表得到的数据表,里层,也就是$parent[$n]['voo']所指向的数据表,也就是报价表中的相应数据。

通过这样的分析,条理已经很清晰了,举一反三就可以实现N重循环,当然如果需要更多的层次可以指定TAG_NESTED_LEVEL配置参数。

这样的话,就可以实现例如:国家->省->市->县->乡镇等多重循环

php循环volist,Thinkphp的volist标签嵌套循环使用教程相关推荐

  1. php循环volist,ThinkPHP模板Volist标签嵌套循环输出多维数组的方法

    本文实例讲述了ThinkPHP模板Volist标签嵌套循环输出多维数组的方法.分享给大家供大家参考,具体如下: ThinkPHP 中对 volist 标签嵌套使用可实现多维数组的输出. volist ...

  2. php中volist怎么循环,Thinkphp的volist标签嵌套循环使用教程_PHP

    ThinkPHP 本文较为详细的对ThinkPHP的volist标签嵌套的用法阐述如下: 首先,在Thinkphp开发手册中,有关于标签嵌套的解释说明.如下: 标签嵌套: 模板引擎支持标签的多层嵌套功 ...

  3. thinkphp ajax volist,thinkphp中volist标签在ajax使用有哪些注意事项

    这次给大家带来thinkphp中volist标签在ajax使用有哪些注意事项,下面就是实战案例,一起来看一下. 背景 在一个ThinkPHP的复杂页面(包含volist)中实现volist标签显示Jq ...

  4. php循环volist,ThinkPHP采用volist实现三级循环代码实例

    本文以实例描述了ThinkPHP采用标签实现三级循环代码,具体操作步骤如下: 1. 三级循环需要三维数组,实现代码如下: function MakeTree($pid,$level) { $map[' ...

  5. php volist模板,ThinkPHP 模板 Volist 标签嵌套循环输出多维数组

    ThinkPHP 中对 volist 标签嵌套使用可实现多维数组的输出. volist 嵌套使用 一般的二维数组,可以用 volist 标签直接循环输出.对于多维数组,则需要对其中的数组成员再次使用 ...

  6. php 模板volist 遍历,thinkphp模板volist标签嵌套循环输出多维数组

    volist 嵌套使用一般的二维数组,可以用 volist 标签直接循环输出.对于多维数组,则需要对其中的数组成员再次使用 volist 标签嵌套循环输出. 构建一个多维数组:$food = arra ...

  7. html中使用volist要引入什么,thinkphp中volist标签使用案例详解

    这次给大家带来thinkphp中volist标签使用案例详解,thinkphp中volist标签使用的注意事项有哪些,下面就是实战案例,一起来看一下. 属性: name(必须):要输出的数据模板变量 ...

  8. thinkphp ajax volist,thinkphp中的volist标签在ajax中操作详解

    在一个ThinkPHP的复杂页面(包含volist)中实现volist标签显示Jquery查询结果的返回.本文主要和大家介绍thinkphp 中的volist标签在ajax操作中的特殊性(推荐),需要 ...

  9. php 页面显示volist,thinkphp 中的volist标签在ajax操作中的特殊性

    背景 在一个Thinkphp的复杂页面(包含volist)中实现volist标签显示jquery查询结果的返回 知识点 使用ajax的目的是不刷新整个页面的前提下实现部分表格数据的刷新,但是注意Thi ...

最新文章

  1. cmd导入oracle库文件,cmd 导入oracle数据库
  2. No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer解决方法
  3. poj 2078(搜索+剪枝)
  4. 生活中要常常鼓励别人
  5. w10电脑c盘满了怎么清理_Win10专业版电脑c盘满了怎么清理?教你一招快速清理C盘...
  6. 在QtCreator中手动添加signal和slot
  7. mysql中联合查询
  8. 键、索引、约束及其区别
  9. NNACL2021 放榜啦~
  10. 378.有序矩阵中第k小的元素(力扣leetcode) 博主可答疑该问题
  11. Python爬虫教程,利用Python采集QQ群成员信息
  12. Xshell“所选的用户密钥未在远程主机上注册”解决办法
  13. 【绝知此事要躬行】线性表之链表OJ(下)
  14. aws lambda_AWS Lambda和Node JS的路由管理框架
  15. 腾讯云从良心云转变成“凉心云”,乱封禁服务器与域名怎么办?
  16. 大话西游手游服务器合服信息查询,大话西游手游2021年6月合区查询 6月最新合区列表...
  17. 目标检测难题 | 小目标检测策略汇总
  18. 序 -- 慕司板IAP15
  19. Linux下性能监控、守护进程与计划任务管理
  20. 英雄联盟英雄信息【python爬虫】

热门文章

  1. -- 18.查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率 -- 及格为>=60,中等为:70-80,优良为:80-
  2. python3常用模块(chardet)
  3. 复制html到word文档出现边框的解决方案
  4. python3 manage.py makemigrations执行完无反应的解决办法
  5. 如何在Windows 10上查看哪些应用正在使用您的麦克风
  6. js禁止苹果页面底部滚动_Vue.js 实现禁止 h5 页面在 ios 浏览器内置的下拉 bounce 效果...
  7. netty权威指南第一章
  8. 在windows下IIS管理器,网站报401.2错误解决办法
  9. swift 将json字符串 转换成 字典
  10. 16,verilog之锁存器和触发器