CI框架无限级分类+递归的实现代码
CI是什么?
CodeIgniter是一个轻量级但功能强大的PHP框架,基于MVC设计模式,提供了一套丰富的类库,简单易学,高效实用。
下面看下CI框架无限级分类+递归的实现代码,具体代码如下所示:
//无级分类+递归
publicfunctiondigui(){
$crr=$this->db->get('category')->result_array();
$list['type']=$this->nolimit($crr,0,0);
$this->load->view('list1',$list);
}
publicfunctionnolimit($crr,$p_id,$level){
static$arr=array();
foreach($crras$v){
if($v['parent_id']==$p_id){
$v['level']=$level;
$arr[]=$v;
$this->nolimit($crr,$v['cat_id'],$level+1);
}
}
return$arr;
}
<td><?PHPechostr_repeat(' ',$val['level'])?><?phpecho$val['cat_name']?></td>
//获取1级、2级、3级分类
publicfunctionsel_child($p_id){
$arr=$this->sel_son($p_id);
foreach($arras$k=>$v){
$tmp=$this->sel_son($v['cat_id']);
foreach($tmpas$kk=>$vv){
$tmp2=$this->sel_son($vv['cat_id']);
$tmp[$kk]['childs']=$tmp2;
}
$arr[$k]['child']=$tmp;
}
return$arr;
}
//通过ID获取所有的下级分类
publicfunctionsel_son($id){
$this->db->where("parent_id=$id");
return$this->db->get(self::$cate)->result_array();
}
//渲染展示主页模板
publicfunctionlists(){
$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);
}
<?phpforeach($typeas$v){?>
<liid="cat_1"class="">
<h3><ahref=""><?phpecho$v['cat_name']?></a></h3>
<?phpforeach($v['child']as$vv){?>
<dlclass="clearfix">
<dt><ahref=""><?phpecho$vv['cat_name']?></a></dt>
<?phpforeach($vv['childs']as$vvv){?>
<ahref=""><?phpecho$vvv['cat_name']?></a>
<?php}?>
</dl>
<?php}?>
</li>
<?php}?>
以上所述是小编给大家介绍的CI框架无限级分类+递归的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!