Et tre -menyen er en visuell representasjon av en liste over elementer , organisert slik at enkelte elementer eller kategorier , kalt foreldre noder, kan utvides og vise sub- elementer , kalt underordnede noder . Ved hjelp av PHP, kan du hente informasjon fra en MySQL database og bygge et tre -menyen på en webside. Din MySQL tabellen må ha et bestemt format , en som identifiserer overordnede og underordnede noder og forholdet mellom dem . Hver post i tabellen representerer en node på treet. Du kan lage flere nivåer av barn noder . Instruksjoner
en
Logg deg på MySQL -databasen . Lag en tabell med tre felt: noden ID, teksten for noden og den overordnede ID for noden . Sett inn informasjon i tabellen . Hver node ID skal være unike . Noder på øverste nivå har null for en forelder node ID , mens underordnede noder har en forelder ID som samsvarer med ID-feltet for de respektive foreldre .
2
Åpne en HTML-fil der du vil opprette et tre -menyen. Sett markøren der du ønsker å få treet . Skriv inn følgende kode : ?
< Php $ db = mysql_connect ( $ vertsnavn , $ brukernavn, $ passord); mysql_select_db ( $ database);
Disse linjene rett og slett satt opp tilkoblingen til MySQL database. Endre PHP variabler som gjelder for databasen
3
Skriv inn følgende kode : .
$ Result = mysql_query ( "SELECT * FROM table_name ") eller dø ( mysql_error ( ));
Denne linjen gjør et kall til MySQL -databasen og får informasjon fra tabellen som inneholder tre menyen informasjon og lagrer det til en PHP variabel
4 < . p> Skriv inn følgende kode :
$ menu = Array (); while ( $ m = mysql_fetch_array ( $ resultat ) ) {$ menyen [ ] = Array (' id ' = > $ m [' id '] ,' text '= > $ m [ ' text '] , "foreldre" = > $ m [' foreldre '] ); }
den første linjen skaper en PHP variabel og setter den som en matrise. . De " mens" løkke går gjennom hver av postene i " $ resultat " variable og formater dem for bruk av en PHP -funksjon
5
Skriv inn følgende kode :
< p > funksjon treemenu ( $ rader , $ forelder = 0 ) { $ result = "
"; foreach ( $ rader som $ row ) {
Den første linjen oppretter en ny funksjon kalt " treemenu "som du vil bruke til å bygge tre. Det tar ett eller to parametere. Først tar det informasjon fra en PHP array. Det andre er et helt tall som inneholder informasjon om foreldrenoder i treet. Hvis du ikke passerer en andre parameter , skaper det en egen variabel og initialiserer verdien til null
6
Skriv inn følgende kode : .
If ( $ row [' foreldre ' . ] == $ forelder ) { $ result = "
- {$ rad [ tekst ] } "; foreach ( $ row som $ r ) { if ( $ r [' foreldre '] == $ r [ 'id '] ) $ barn = sant, ellers $ barn = false; } if ( $ barn = true ) $ resultat = treemenu ( $ rader, $ rad [' id '] ) . . " < /li >"; }
Disse linjene med kode bruk "hvis" uttalelser og looper til å bla gjennom informasjonen i PHP variabel som inneholder tre menystrukturen . Hvis raden er en forelder med en ID-verdi på null, skaper funksjonen en forelder node. Hvis raden er et barn , blir det IDen til den overordnede noden og skaper et barn node knyttet til foreldrene sine . Det kaller " treemenu "-funksjonen rekursivt å sjekke hver rad i PHP array variabel
7
Skriv inn følgende kode : . .
} $ Resultat = " < /ul > "; returnere $ resultat;}
Disse linjene lukke" for "loop som gjennomgår hver rad i MySQL resultatene , tilføyer noen HTML-koden og returnere treet fra funksjonen . Den siste linjen lukkes " treemenu " funksjon blokk
8
Skriv inn følgende kode : . ?
Ekko treemenu ( $ menyen); >
første linje kaller " treemenu "-funksjonen og sender informasjonen fra MySQL database til det. Den skriver deretter treet på websiden . Den andre linjen stenger PHP-koden blokken .