首页  >  文章  >  后端开发  >  关于CI框架无限级分类和递归的实现

关于CI框架无限级分类和递归的实现

不言
不言原创
2018-06-14 14:04:331797浏览

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(&#39;    &#39;,$val[&#39;level&#39;])?><?php echo $val[&#39;cat_name&#39;]?></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[&#39;cat_id&#39;]);
foreach($tmp as $kk=>$vv){
$tmp2 = $this->sel_son($vv[&#39;cat_id&#39;]);
$tmp[$kk][&#39;childs&#39;] = $tmp2;
}
$arr[$k][&#39;child&#39;] = $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[&#39;type&#39;] = $this->Home_model->sel_child($p_id);
$brr[&#39;list&#39;] = $this->db->get(&#39;goods&#39;)->result_array();
$this->load->view(&#39;Home/list.html&#39;,$brr);
}
<?php foreach($type as $v){?>
<li id="cat_1" class="">
<h3><a href=""><?php echo $v[&#39;cat_name&#39;]?></a></h3>
<?php foreach($v[&#39;child&#39;] as $vv){?>
<dl class="clearfix">
<dt><a href=""><?php echo $vv[&#39;cat_name&#39;]?></a></dt>
<?php foreach($vv[&#39;childs&#39;] as $vvv){?>
<a href=""><?php echo $vvv[&#39;cat_name&#39;]?></a>
<?php }?>
</dl>
<?php }?>
</li>
<?php }?>

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何使用CodeIgniter框架实现图片上传的方法

关于CodeIgniter框架验证码类库文件与用法的分析

以上是关于CI框架无限级分类和递归的实现的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn