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