Maison > développement back-end > tutoriel php > Classification Infinitus en php

Classification Infinitus en php

不言
Libérer: 2023-03-28 19:20:01
original
1892 Les gens l'ont consulté

Cet article présente principalement la classification Infinitus en php, qui a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

1. La structure de

| cate_id    | cate_name|  parentid(默认0)|
| --------   | -----:   | :----: |
| 1          | 键盘     |   0    |
| 2          | 机械键盘  |   1    |
| 3          | cherry键盘|  2    |
Copier après la connexion

On peut voir que la valeur du parentid de Cherry est égale au cate_id de son niveau supérieur, qui est au cœur de la classification Infinitus

La classification infinie. la fonction est Réorganiser les données dans la base de données
Le code sous le contrôleur :

public function index(){
    $cate = D('category')->catetree();    
    $this->assign('cate',$cate);        
    $this->display();
    }
Copier après la connexion

Ici $cate appelle la méthode catetree(), puis voici le code dans notre modèle correspondant

Model下的代码:public function catetree(){
    $data = $this->select();    
    return $this->resort($data);
   }
Copier après la connexion

Interrogez d'abord toutes les données de la table de catégories correspondante et renvoyez une nouvelle méthode

public function resort($data,$parentid=0,$level=0){
    static $ret = array();    foreach ($data as $key => $v) {        
    if ($v['parentid']==$parentid) {        
    $v['level']=$level;        
    $ret[]=$v;       
    $this->resort($data,$v['cate_id'],$level+1);
        }
    }    return $ret ;
}
Copier après la connexion

Générez d'abord un tableau statique, puis parcourez le catetree() passé par la méthode $data. La condition de jugement est de trouver la première donnée. Enregistrez d’abord les données de niveau supérieur dans un tableau statique, puis appelez-le et transmettez l’identifiant de la colonne de niveau supérieur en tant que paramètre.
De cette façon$parentid=$v['cate_id']
La fonction finale de classification sans fil est terminée !

Recommandations associées :

Rollback physique en PHP

Résumé des solutions pour le cryptage des mots de passe en PHP

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