本文以实例描述了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实现二级循环读取的方法,包括了ThinkPHP实现二级循环读取的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP实现二级循环读取的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的ThinkPHP框架程序设计有所帮助。
本文向大家介绍jQuery实现三级菜单的代码,包括了jQuery实现三级菜单的代码的使用技巧和注意事项,需要的朋友参考一下 上周新接手一个网站建设的活儿,其中有需要要jquery代码实现三级菜单的需求,其实说难也不难,下面小编把代码分享给大家,供大家参考。 先给大家展示下效果图,如果大家感觉还不错的话,请参考实现代码。 HTML代码: js代码: css代码: 以上内容是小编给大家介绍的jQuer
本文向大家介绍thinkphp标签实现bootsrtap轮播carousel实例代码,包括了thinkphp标签实现bootsrtap轮播carousel实例代码的使用技巧和注意事项,需要的朋友参考一下 由于轮播carousel第一个div需要设置active样式才能正常显示,上面的圆点也同样需要数字, 使用volist标签在循环的同时可以取得下标(foreach,for标签实现不了) 以上所述是
本文向大家介绍省市区三级联动jquery实现代码,包括了省市区三级联动jquery实现代码的使用技巧和注意事项,需要的朋友参考一下 最近项目需要用到关于省市区三级联动下拉选择的功能,于是乎网上搜了一些做法,觉得有一些只是给出了小的案例,却很难找到详细的省、市、区的具体数据(其实,用baidu搜索就是这样啦),果断用google,搜出来的博文质量相当高,特此记录记录!!! 对于这个效果,其实我发现主
本文向大家介绍采用ThinkPHP中F方法实现快速缓存实例,包括了采用ThinkPHP中F方法实现快速缓存实例的使用技巧和注意事项,需要的朋友参考一下 一般使用文件方式的缓存就能够满足要求,而thinkPHP还提供了一个专门用于文件方式的快速缓存方法F方法。 由于采用的是PHP返回方式,所以其效率较S方法较高。 F方法具有如下特点: 1.简单数据缓存; 2.文件形式保存; 3.采用PHP返回数据方
本文向大家介绍ThinkPHP实现批量删除数据的代码实例,包括了ThinkPHP实现批量删除数据的代码实例的使用技巧和注意事项,需要的朋友参考一下 ThinkPHP实现批量删除数据原理很简单,只需在模板页面里面写上<input name='id[]' type='checkbox' value='{$vo.id}' class="noborder">这样传过来就是一个数组,action的删除函数d