Ett träd meny är en visuell representation av en lista , organiseras så att vissa objekt eller kategorier , så kallade överordnade noder , kan expanderas och visar delposter , som kallas underordnade noder . Använda PHP , kan du dra information från en MySQL databas och bygga ett träd meny på en webbsida . Din MySQL tabell måste ha ett visst format , en som identifierar förälder och underordnade noder och förhållandet mellan dem . Varje post i tabellen representerar en nod i trädet . Du kan skapa flera nivåer av underordnade noder . Instruktioner
1
logga in på din MySQL-databas . Skapa en tabell med tre fält: nod-ID , den text noden och den förälder ID för noden . Infoga information i tabellen. Varje nod -ID ska vara unikt . Noder på den översta nivån har noll för en förälder nod -ID , medan underordnade noder har en förälder ID som matchar ID-fältet för de respektive föräldrar .
2
Öppna en HTML -fil som du vill skapa ett träd meny . Sätt markören där du vill göra trädet . Skriv följande kod : ?
< Php $ db = mysql_connect ( $ hostname , $ username , $ password ) ; mysql_select_db ( $ databas ) ,
Dessa linjer helt enkelt ställa in anslutningen till din MySQL-databas . Ändra PHP-variabler till dem som gäller för din databas
3
Skriv följande kod : .
$ Result = mysql_query ( " SELECT * FROM tabellnamn " ) eller dö ( mysql_error ( ) ) ;
Denna rad gör ett anrop till MySQL-databasen och får informationen från tabellen som innehåller den information trädmenyn och sparar den till en PHP- variabel
4 < . p > Skriv följande kod :
$ menu = Array ( ) , medan ( $ m = mysql_fetch_array ( $ result ) ) { $ menu [ ] = array ( ' id ' = > $ m [ ' id ' ] , ' text ' = > $ m [ ' text ' ] , ' föräldern ' = > $ m [ ' föräldern ' ] ) ; }
första raden skapar en PHP- variabel och initierar det som en array. . De " medan" loop går igenom varje post i " $ result " variabel och format dem för användning av ett PHP-funktionen
5
Skriv följande kod :
funktionen meny-träd ( $ rader , $ parent = 0 ) { $ result = "
" , foreach ( $ rader som $ rad ) {
första raden skapar en ny funktion som kallas " meny-träd " som du kommer att använda för att bygga ditt träd . Det tar en eller två parametrar . Först tar det att informationen från en PHP- array . Det andra är ett heltal som innehåller information om överordnade noder i trädet . Om du inte klarar en andra parameter , skapar sin egen variabel och initierar dess värde till noll
6
Skriv följande kod : .
If ( $ rad [ " förälder ' . ] == $ förälder ) { $ result = "
- { $ rad [ text ] } "; foreach ( $ v $ r ) {if ( $ r [ ' föräldern ' ] == $ r [ ' id ' ]) $ barn = true; annars $ barn = false; } if ($ barn = true ) $ result = meny-träd ( $ rader , $ row [ 'id' ] ) . . " < /li > " ;}
Dessa rader kod användning " om " uttalanden och loopar för att gå igenom informationen i PHP variabel som innehåller struktur trädet menyn . Om raden är en förälder med ett ID- värde på noll , skapar funktionen en överordnad nod . Om raden är ett barn , blir det ID för den överordnade noden och skapar en underordnad nod kopplad till dess förälder. Det kallar " meny-träd " -funktion rekursivt att kontrollera varje rad i PHP arrayvariabel
7
Skriv följande kod : . .
} $ Result = " < /ul > " ; return $ result ;}
Dessa rader stäng " för " loop som går igenom varje rad i MySQL resultat , bifoga några HTML-koden och returnera trädet från funktionen . Den sista raden stänger " meny-träd " funktionsblock
8
Skriv följande kod : . ?
Echo meny-träd ( $ meny ) ; >
första raden anropar " meny-träd " -funktionen och skickar information från MySQL databas till det . Den skriver då trädet på webbsidan . Den andra raden stänger PHP-kod blocket .