Ein Baum Menü ist eine visuelle Darstellung einer Liste von Elementen , so dass einige Artikel oder Kategorien , die so genannte übergeordnete Knoten , erweitert werden kann und zeigen Unterpunkte genannt untergeordnete Knoten organisiert . Mit PHP können Sie Informationen aus einer MySQL-Datenbank ziehen und bauen einen Baum Menü auf einer Web -Seite. Ihre MySQL -Tabelle muss ein bestimmtes Format , eine, die Eltern-Kind- Knoten und die Beziehung zwischen ihnen identifiziert . Jeder Datensatz in der Tabelle stellt einen Knoten auf dem Baum. Sie können mehrere Ebenen der untergeordneten Knoten . Anleitung
1
Einloggen, um MySQL-Datenbank. Erstellen Sie eine Tabelle mit drei Feldern : die Knoten-ID , der Text für den Knoten und dem übergeordneten ID für den Knoten. Legen Sie Informationen in der Tabelle . Jeder Knoten ID muss eindeutig sein. Knoten auf der obersten Ebene haben null für einen übergeordneten Knoten ID , während untergeordnete Knoten ein Elternteil ID, die ID-Feld entspricht für diesen jeweiligen Eltern haben.
2
Öffnen einer HTML- Datei, in der Sie erstellen möchten ein Baum -Menü. Setzen Sie den Cursor an den Baum machen wollen. Geben Sie den folgenden Code :
< php $ db = mysql_connect ( $ hostname , $ username, $ password); mysql_select_db ( $ database );
Diese Linien setzen Sie einfach die Verbindung zum Ihre MySQL-Datenbank. Ändern Sie die PHP-Variablen , um diejenigen, die für Ihre Datenbank
3
Geben Sie den folgenden Code: .
$ Result = mysql_query ( "SELECT * FROM tabelle " ) or die ( mysql_error ());
Diese Zeile macht einen Aufruf an die MySQL-Datenbank und ruft die Informationen aus der Tabelle, die den Baum Menü enthält Informationen und speichert sie in einer PHP-Variable
4 < . p > Geben Sie den folgenden Code:
$ menu = array ( ); while ($ m = mysql_fetch_array ( $ result) ) { $ menu [ ] = array ( 'id' = > $ m [ 'id '] ,' text ' => $ m [' text '] , ' parent ' => $ m [ ' parent ' ] );}
Die erste Zeile erstellt eine PHP-Variable initialisiert und es als ein Array . . Die "while" -Schleife durchläuft jeder der Datensätze in der " $ result " variable und formatiert sie für die Nutzung durch eine PHP-Funktion
5
Geben Sie den folgenden Code:
< p > Funktion treemenu ( $ rows , $ parent = 0) { $ result = "
"; foreach ( $ rows as $ row ) {
Die erste Zeile erstellt eine neue Funktion namens " treemenu ", die Sie verwenden, um Ihren Baum bauen . Es dauert ein oder zwei Parameter . Erstens dauert es die Informationen aus einem PHP-Array . Die zweite ist eine ganze Zahl , die Informationen zu übergeordneten Knoten im Baum enthält . Wenn Sie sich nicht über einen zweiten Parameter , erstellt es eine eigene Variable initialisiert und seinen Wert auf Null
6
Geben Sie den folgenden Code: .
If ($ row [ 'parent ' . ] == $ parent ) { $ result = " { $ row
- [text ] }"; foreach ( $ row wie $ r ) {if ( $ r [ ' parent ' ] == $ r [ 'id' ] ) $ Kinder = true; else $ Kinder = false; } if ($ Kinder = true) $ result = treemenu ( $ rows , $ row [ 'id' ] ) . . "
";}
Diese Codezeilen Verwendung "if" -Anweisungen und Schleifen , um durch die Informationen in der PHP- Variable, die den Baum Menüstruktur enthält . Wenn die Zeile ein Elternteil mit einem ID-Wert Null , erstellt die Funktion einen übergeordneten Knoten . Wenn die Zeile ist ein Kind, bekommt es die ID des übergeordneten Knotens und erstellt einen untergeordneten Knoten gebunden an ihre Muttergesellschaft . Er fordert die " treemenu " Funktion rekursiv auf jede Zeile in der PHP-Array variable überprüfen
7
Geben Sie den folgenden Code: . .
} $ Result = "
"; return $ result; }
Diese Linien schließen die " for "-Schleife , dass durchläuft jede Zeile in den MySQL- Ergebnisse , etwas HTML-Code anhängen und kehren den Baum von der Funktion. Die letzte Zeile schließt die " treemenu " Baustein
8
Geben Sie den folgenden Code: . ?
Echo treemenu ( $ menu ); >
erste Zeile ruft die " treemenu " Funktion auf und übergibt die Informationen aus der MySQL-Datenbank zu. Es druckt dann den Baum auf der Web -Seite. Die zweite Zeile schließt die PHP-Code -Block .