Heim  >  Artikel  >  Backend-Entwicklung  >  Infinitus-Klassifizierung in PHP

Infinitus-Klassifizierung in PHP

不言
不言Original
2018-05-31 17:34:351854Durchsuche

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:

Physisches Rollback in PHP

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn