ThinkPHP采用<volist>實(shí)現(xiàn)三級循環(huán)代碼實(shí)例
本文以實(shí)例描述了ThinkPHP采用<volist>標(biāo)簽實(shí)現(xiàn)三級循環(huán)代碼,具體操作步驟如下:
1. 三級循環(huán)需要三維數(shù)組,實(shí)現(xiàn)代碼如下:
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'])){ //先判斷是否有第三級子類,最后的數(shù)組形如$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標(biāo)簽:
$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標(biāo)簽嵌套循環(huán)使用教程
- ThinkPHP模板Volist標(biāo)簽嵌套循環(huán)輸出多維數(shù)組的方法
- ThinkPHP模板中判斷volist循環(huán)的最后一條記錄的驗(yàn)證方法
- ThinkPHP模板循環(huán)輸出Volist標(biāo)簽用法實(shí)例詳解
- ThinkPHP實(shí)現(xiàn)二級循環(huán)讀取的方法
- thinkPHP模板中for循環(huán)與switch語句用法示例
- ThinkPHP之foreach標(biāo)簽使用概述
- thinkphp 中的volist標(biāo)簽在ajax操作中的特殊性(推薦)
- thinkphp特殊標(biāo)簽用法概述
- Thinkphp5.0框架視圖view的循環(huán)標(biāo)簽用法示例
相關(guān)文章
php curl獲取到j(luò)son對象并轉(zhuǎn)成數(shù)組array的方法
今天小編就為大家分享一篇php curl獲取到j(luò)son對象并轉(zhuǎn)成數(shù)組array的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
ThinkPHP表單數(shù)據(jù)智能寫入create方法實(shí)例分析
這篇文章主要介紹了ThinkPHP表單數(shù)據(jù)智能寫入create方法,以實(shí)例形式較為詳細(xì)的分析了ThinkPHP中create只能寫入的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09
解決laravel中日志權(quán)限莫名變成了root的問題
今天小編就為大家分享一篇解決laravel中日志權(quán)限莫名變成了root的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡單實(shí)現(xiàn)方法
這篇文章主要介紹了thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡單實(shí)現(xiàn)方法,結(jié)合簡單示例形式分析了thinkPHP5框架驗(yàn)證碼相關(guān)配置、后臺驗(yàn)證、前臺刷新等操作技巧,需要的朋友可以參考下2018-09-09
php使用phpoffice/phpspreadsheet拓展操作excel實(shí)例
這篇文章主要為大家介紹了php使用phpoffice/phpspreadsheet拓展操作excel實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
ThinkPHP5中如何實(shí)現(xiàn)模板完全靜態(tài)化詳解
這篇文章主要為大家介紹了ThinkPHP5中如何實(shí)現(xiàn)模板完全靜態(tài)化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

