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框架无限级分类+递归的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!