Heim > Artikel > Backend-Entwicklung > Infinitus-Klassifizierung in PHP
Dieser Artikel stellt hauptsächlich die Infinitus-Klassifizierung vor, die einen gewissen Referenzwert hat. Jetzt kann ich sie mit allen Freunden teilen, die sie benötigen.
1 Die Struktur von
| cate_id | cate_name| parentid(默认0)| | -------- | -----: | :----: | | 1 | 键盘 | 0 | | 2 | 机械键盘 | 1 | | 3 | cherry键盘| 2 |
Es ist ersichtlich, dass der Wert von Cherrys Parentid gleich der cate_id seiner oberen Ebene ist, die den Kern der Infinitus-Klassifizierung bildet
2. Die unendliche Klassifizierungsfunktion ist Um die Datenbank zu konvertieren, werden die Daten im
-Controller neu sortiert:
public function index(){ $cate = D('category')->catetree(); $this->assign('cate',$cate); $this->display(); }
Hier ruft $cate die Methode catetree() auf, dann zuerst den Code in unserem entsprechenden Modell unten
Model下的代码:public function catetree(){ $data = $this->select(); return $this->resort($data); }
Fragen Sie die entsprechende Kategorietabelle ab und geben Sie alle darin enthaltenen Daten zurück.
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 ; }
generiert zunächst ein statisches Array und durchläuft dann das von der catetree()
-Methode übergebene $data
. Die Beurteilungsbedingung besteht darin, die Spitze zu finden Stück Daten. Speichern Sie zunächst die Daten der obersten Ebene in einem statischen Array, rufen Sie sich dann selbst auf und übergeben Sie die ID der Spalte der obersten Ebene als Parameter.
Auf diese Weise$parentid=$v['cate_id']
Die endgültige Wireless-Klassifizierungsfunktion ist abgeschlossen!
Verwandte Empfehlungen:
Zusammenfassung der Lösungen für die Passwortverschlüsselung in PHP
Das obige ist der detaillierte Inhalt vonInfinitus-Klassifizierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!