这篇文章主要为大家详细介绍了ThinkPHP采用<volist>实现三级循环的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!
本文以实例描述了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;
}
ThinkPHP采用<volist>实现三级循环代码实例
2.绑定volist标签:
代码如下:
$result=D('Learning') ->MakeTree(0,1);
//dump($result);
$this->assign('list',$result);
ThinkPHP采用<volist>实现三级循环代码实例
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>实现三级循环代码实例
本文来自:http://www.q1010.com/173/17339-0.html
注:关于ThinkPHP采用<volist>实现三级循环的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:ThinkPHP
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。