CI框架无限级分类+递归的实现代码
author:一佰互联 2019-04-26   click:162

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