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

不言
Libérer: 2023-04-01 07:38:02
original
1800 Les gens l'ont consulté

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 }?>
Copier après la connexion

. 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!