CI框架無限級分類+遞歸的實現代碼
更新時間:2016年11月01日 10:13:02 投稿:mrr
CodeIgniter是一個輕量級但功能強大的PHP框架,基于MVC設計模式,提供了一套豐富的類庫,簡單易學,高效實用。下面給大家介紹CI框架無限級分類+遞歸的實現代碼,感興趣的朋友參考下吧
CI是什么?
CodeIgniter是一個輕量級但功能強大的PHP框架,基于MVC設計模式,提供了一套豐富的類庫,簡單易學,高效實用。
下面看下CI框架無限級分類+遞歸的實現代碼,具體代碼如下所示:
//無級分類+遞歸
public function digui(){
$crr = $this->db->get('category')->result_array();
$list['type'] = $this->nolimit($crr,0,0);
$this->load->view('list1',$list);
}
public function nolimit($crr,$p_id,$level){
static $arr = array();
foreach($crr as $v){
if($v['parent_id']==$p_id){
$v['level'] = $level;
$arr[] = $v;
$this->nolimit($crr,$v['cat_id'],$level+1);
}
}
return $arr;
}
<td><?PHP echo str_repeat(' ',$val['level'])?><?php echo $val['cat_name']?></td>
//獲取1級、2級、3級分類
public function sel_child($p_id){
$arr = $this->sel_son($p_id);
foreach($arr as $k=>$v){
$tmp = $this->sel_son($v['cat_id']);
foreach($tmp as $kk=>$vv){
$tmp2 = $this->sel_son($vv['cat_id']);
$tmp[$kk]['childs'] = $tmp2;
}
$arr[$k]['child'] = $tmp;
}
return $arr;
}
//通過ID獲取所有的下級分類
public function sel_son($id){
$this->db->where("parent_id=$id");
return $this->db->get(self::$cate)->result_array();
}
//渲染展示主頁模板
public function lists(){
$p_id = 0;
$brr['type'] = $this->Home_model->sel_child($p_id);
$brr['list'] = $this->db->get('goods')->result_array();
$this->load->view('Home/list.html',$brr);
}
<?php foreach($type as $v){?>
<li id="cat_1" class="">
<h3><a href=""><?php echo $v['cat_name']?></a></h3>
<?php foreach($v['child'] as $vv){?>
<dl class="clearfix">
<dt><a href=""><?php echo $vv['cat_name']?></a></dt>
<?php foreach($vv['childs'] as $vvv){?>
<a href=""><?php echo $vvv['cat_name']?></a>
<?php }?>
</dl>
<?php }?>
</li>
<?php }?>
以上所述是小編給大家介紹的CI框架無限級分類+遞歸的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
微信小程序wx.request使用POST請求時后端無法獲取數據解決辦法
這篇文章主要介紹了微信小程序wx.request使用POST請求時后端無法獲取數據解決辦法,解決辦法其實也很簡單,有需要的同學可以嘗試下2021-03-03
解決PHP使用CURL發(fā)送GET請求時傳遞參數的問題
今天小編就為大家分享一篇解決PHP使用CURL發(fā)送GET請求時傳遞參數的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
Yii使用ajax驗證顯示錯誤messagebox的解決方法
這篇文章主要介紹了Yii使用ajax驗證顯示錯誤messagebox的解決方法,可以自行設置Ajax提示信息的方式,是非常實用的技巧,需要的朋友可以參考下2014-12-12

