如何在Thinkphp中利用volist标签嵌套循环

  介绍

如何在Thinkphp中利用volist标签嵌套循环?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

标签嵌套:

模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套。
系统内置的标签中,volist(及其别名迭代),开关,如果elseif,别的,foreach,比较(包括所有的比较标签),(不),(不)空的,(不)定义等标签都可以嵌套使用例。如:

& lt; volist  name=發ist", id=皏o"比;   & lt; volist  name=皏o(& # 39;子# 39;]“,id=皊ub"比;   {$ sub.name}   & lt;/volist>   & lt;/volist>

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

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

保甲美元=new 模型(& # 39;保甲# 39;);   美元类=new 模型(& # 39;类# 39;);   父母=类→美元select (),,,,   foreach ($ parent  as  $ n=祝辞,val美元){   父母美元[$ n] [& # 39; voo& # 39;]=$保甲→地方(& # 39;belongto=\ & # 39; & # 39;。美元val[& # 39;名字# 39;]强生# 39;\ & # 39;& # 39;)→选择();   }   $ this→分配(& # 39;列表# 39;,父美元);   & lt; volist  name=發ist", id=皏o"比;   ,,,{$ vo.name} & lt; BR>   & lt; volist  name=皏o (& # 39; voo& # 39;]“, id=皊ub"比;   ,{$ sub.name}   & lt;/volist> & lt; BR>   & lt;/volist>

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

代码主要功能是:

1。首先创建模型:

保甲美元=new 模型(& # 39;保甲# 39;);   美元类=new 模型(& # 39;类# 39;);

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

父=美元类→选择();

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

foreach (parent 美元;as  $ n=祝辞,val美元){   父母美元[$ n] [& # 39; voo& # 39;]=$保甲→地方(& # 39;belongto=\ & # 39; & # 39;。美元val[& # 39;名字# 39;]强生# 39;\ & # 39;& # 39;)→选择(),,,,   }

3。最后:

$ this→分配(& # 39;列表# 39;父母美元);

显示输出!

通过这个程序,可以更深入的理解& lt; volist>标签,其实如果在数据库操作中,& lt; volist>标签的名字只能分配成数据库表类型(当然也可以是数组型,因为数据库查询得到的数据本身就是数组型的),当我们在视图页面调用& lt; volist>标签时,特别是嵌套调用时,始终记住每一层的名字都必须是数组型的,像本程序中,最外层,& lt; volist name=發ist"id=皏o"在这里的列表就是我们最初定义的家长,美元这个变量指向查询类表得到的数据表,里层& lt; volist name=皏o (& # 39; voo& # 39;]“;id=皊ub"祝辞,也就是美元父母[$ n] [& # 39; voo& # 39;]所指向的数据表,也就是报价表中的相应数据。

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

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

看完上述内容,你们掌握如何在Thinkphp中利用volist标签嵌套循环的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

如何在Thinkphp中利用volist标签嵌套循环