Maison  >  Article  >  développement back-end  >  À propos de la mise en œuvre de la classification infinie et de la récursivité dans le cadre CI

À propos de la mise en œuvre de la classification infinie et de la récursivité dans le cadre CI

不言
不言original
2018-06-14 14:04:331792parcourir

CodeIgniter est un framework PHP léger mais puissant basé sur le modèle de conception MVC, il fournit un ensemble riche de bibliothèques de classes faciles à apprendre, efficaces et pratiques. Permettez-moi de vous présenter le code d'implémentation du framework CI classification infinie + récursion. Les amis intéressés peuvent s'y référer

Qu'est-ce que CI ?

CodeIgniter est un poids léger Cependant, le puissant framework PHP, basé sur le modèle de conception MVC, fournit un riche ensemble de bibliothèques de classes faciles à apprendre, efficaces et pratiques.

Jetons un coup d'œil au code d'implémentation du framework CI classification infinie + récursivité. Le code spécifique est le suivant :

//无级分类+递归
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 }?>

. Ce qui précède est cet article. Le contenu complet, j'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment utiliser le framework CodeIgniter pour implémenter des méthodes de téléchargement d'images

À propos du code de vérification du framework CodeIgniter fichier de bibliothèque de classes Analyse de l'utilisation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn