您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
本篇文章给大家分享的是有关如何在ThinkPHP项目中利用<volist>实现一个三级循环,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1. 三级循环需要三维数组,实现代码如下:
function MakeTree($pid,$level) { $map['pid'] = $pid; $map['level'] = $level; $result = $this->where($map)->order('rank ASC')->findall(); if($result){ foreach ($result as $key => $value){ $title = $value['alias']; $list[$title]['id'] = $value['id']; $list[$title]['pid'] = $value['pid']; $list[$title]['alias']= $value['alias']; $list[$title]['title'] = $value['title']; $list[$title]['level'] = $value['level']; $list[$title]['state'] = $value['state']; $list[$title]['rank'] = $value['rank']; if($value['level']<=3){ $list[$title]['child'] = $this->_MakeSonTree($value['id']); } } } return $list; } function _MakeSonTree($pid) { $map['pid'] = $pid; $result = $this->where($map)->order('rank ASC')->findall(); if($result){ foreach ($result as $key => $value){ $title = $value['alias']; $list[$title]['id']= $value['id']; $list[$title]['pid']= $value['pid']; $list[$title]['alias']= $value['alias']; $list[$title]['title'] = $value['title']; $list[$title]['level'] = $value['level']; $list[$title]['state'] = $value['state']; $list[$title]['rank'] = $value['rank']; if($this->haschild($value['id'])){ //先判断是否有第三级子类,最后的数组形如$result['child']['grandchild']; $list[$title]['grandchild']=$this->_MakeSonTree($value['id']); } } } return $list; } function haschild($id){ $result=D('LearningChannel')->where("pid=".$id)->find(); if($result){ return true; } else return false; }
2.绑定volist标签:
$result=D('Learning') ->MakeTree(0,1); //dump($result); $this->assign('list',$result);
3.模板部分:
<select name="category" id="select" class="text mr5"> <volist name="list" id="vo"> <option name="cid" value="{$vo.id}" <eq name="vo.id" value="getid">selected</eq> >{$vo.alias}</option> <volist name="vo['child']" id="child"> <option name="cid" value="{$child.id}" <eq name="child.id" value="getid">selected</eq> >--{$child.alias}</option> <volist name="child['grandchild']" id="grand"> <option name="cid" value="{$grand.id}" <eq name="grand.id" value="getid">selected</eq> >---{$grand.alias}</option> </volist> </volist> </volist> </select>
以上就是如何在ThinkPHP项目中利用<volist>实现一个三级循环,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。