香港高速VIP云机房火爆上线啦!无需备案,开通即用!配套《巅云自助建站系统3.0》将带给您飞一般的可视化拖拽建站体验,欢迎免费体验。

Thinkphp的volist标签嵌套循环使用教程

一佰互联网站制作(www.txzun.club) 发布日期 2019-04-29 09:01:08 浏览数: 21

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

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

标签嵌套:

模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套。
系统内置的标签中,volist(及其别名iterate)、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等标签都可以嵌套使用。例如:

<volist name="list" id="vo">
<volist name="vo["sub"]" id="sub">
{$sub.name}
</volist>
</volist>

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

默认的嵌套层次是3级,所以嵌套层次不能超过3层,如果需要更多的层次可以指定TAG_NESTED_LEVEL配置参数。
但是在Action中具体应该怎样?#25345;怠發ist”呢?从说明中可以看出,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);
<volist name="list" id="vo">
    {$vo.name}<BR>
<volist name="vo["voo"]" id="sub">
 {$sub.name}
</volist><BR>
</volist>

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

代码主要功能是:

1.首先创建模型:

$Baojia=new Model("baojia");
$Class=new Model("class");

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

$parent=$Class->select(); 

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

foreach($parent as $n=> $val){
$parent[$n]["voo"]=$Baojia->where("belongto="".$val["name"].""")->select();   
}

3.最后:

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

显示输出!

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

通过这样的分析,条理已经很清晰了,举?#29615;?#19977;就可以实现N重循环,?#27604;?span style="color: #ff0000">如果需要更多的层次可以指定TAG_NESTED_LEVEL配置参数。

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

一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0?#25945;?#29256;,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站?#25945;?#25645;建服务。

相关新闻more

25
04月
PHP实现将base64编码字符串转换成图片

本文实例讲述了PHP实现将base64编码字符串转换成图片。分享给大家供大家参考,具体如下:步骤:1. 获取base64文件:复制代码 代码... >>详情

30
03月
山?#26041;值潰骸?#32593;络+网格”?#24179;?#23433;全微隐患

简介:□通?#23545;?王璐 朱玉凯 报道本报淄博讯 “大雨冲毁村内道路,村民出行受阻,存在安全隐患,村‘两委’第一时间组织人员进行抢修”,这是近日... >>详情

03
05月
?#25945;郑?#20026;什么要研究360搜索引擎优化

从接触搜索引擎优化以来,一直在关注百度baidu,谷歌,soso,搜狗,有道等,而360是突然崛起的,是因为谷歌的退出还有其他一些原因,促使... >>详情

18
03月
linux虚拟主机租用

什么是linux虚拟主机租用? linux虚拟主机即空间所在服务器操作系统为linux反之则是windows主机。 linux虚拟主机租用... >>详情

营业执照. cdn加速服务 备案系统认证 网络安全协会 我们的支付方式AAA认证
上海 ?#26412;?/a> 深圳 广州 天津 杭州 南京 武汉 成都 沈阳 大连 长沙 济南 青岛 苏州 福州 无锡 哈尔滨 宁波 重庆 大庆 厦门 西安 长春 珠海 郑州 海口 昆明 太原 石家庄 温州 合肥 乌鲁木齐 南宁 南通 合肥 兰州 呼和浩特 贵阳 烟台 秦?#23454;?/a> 包头 唐山 银川 汕头 连云港 威海 西宁 湛江 北海 万州 涪陵 长寿 黔江 ?#26469;?/a> 丰都 忠县 江津 南川 开县 云阳 万盛 梁平 垫江 巫山 城口 建站宝盒 免费建站 门户网站建设 微信网站 手机网站 门户网站制作

7x24小时服务电话:18581389571 传真:023-85725751 免费建站交流?#28023;?36412099 139947842(自助建站交流) E-Mail:[email protected] 网站投诉:
重庆楚捷科?#21152;?#38480;公司 一佰互联©版权所有 自助建站(www.txzun.club,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保护,网站法律顾问:ITLAW-庄毅雄律师
中华人民共和国信息产业?#23458;?#31449;备案号:渝ICP备12000592号
吃鸡游戏有哪些