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

Classification Infinitus en php

不言
不言original
2018-05-31 17:34:351809parcourir

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    |

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();
    }

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);
   }

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 ;
}

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!

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