Een boom menu is een visuele weergave van een lijst met items , zo georganiseerd dat een aantal items of categorieën , genaamd ouder knooppunten , kan worden uitgebreid en tonen sub - items , genaamd kind nodes . Met behulp van PHP , kunt u informatie halen uit een MySQL -database en het opbouwen van een boom menu op een webpagina . Uw MySQL tabel moet een bepaald formaat , een die ouder en kind knooppunten en de relatie tussen hen identificeert . Elke record in de tabel vertegenwoordigt een knooppunt op de boom . U kunt verschillende niveaus van onderliggende knooppunten te creëren . Instructies 1 Log in om je MySQL database . Maak een tabel met drie velden : de node-ID , de tekst voor het knooppunt en de ouder -ID voor het knooppunt . Plaats informatie in de tabel . Elk knooppunt ID moet uniek . Knooppunten op het hoogste niveau hebben nul voor een bovenliggende node -ID , terwijl de onderliggende knooppunten hebben een ouder ID dat het ID-veld overeenkomt voor die respectievelijke ouders . Kopen van 2 Open een HTML-bestand waarin u wilt maken een boom menu . Plaats de cursor waar u de boom te maken . Typ de volgende code : ? Deze lijnen gewoon het opzetten van de verbinding naar uw MySQL database . Verander het PHP variabelen aan die van toepassing zijn op uw database 3 Typ de volgende code : . $ Result = mysql_query ( " SELECT * FROM tabelnaam " ) or die ( mysql_error ( ) ) ; Deze lijn maakt een oproep aan de MySQL database en krijgt de gegevens uit de tabel dat de boom menu bevat en slaat het op een PHP variabele 4 < . p > Typ de volgende code : menu $ = Array ( ) ; while ( $ m = mysql_fetch_array ( $ resultaat ) ) { $ menu [ ] = array ( ' id ' = > $ m [ ' id ' ] , ' text ' = > $ m [ ' text ' ] , ' parent ' = > $ m [ ' parent ' ] ) ; } De eerste regel creëert een PHP variabele en initialiseert het als een array . . De lus "terwijl" cycli door elk van de records in het " resultaat $ " variabele en materiaalsoorten ze voor gebruik door een PHP functie 5 Typ de volgende code : functie TreeMenu ( $ rijen , $ parent = 0 ) { $ resultaat = " " ; foreach ( $ rijen als $ row ) { De eerste regel maakt een nieuwe functie genaamd " TreeMenu ' die je zal gebruiken om uw boom te bouwen . Het duurt een of twee parameters . Ten eerste duurt de informatie van een PHP array . De tweede is een geheel getal dat informatie over bovenliggende knooppunten in de boom bevat . Als je niet een tweede parameter doorgeven , het creëert zijn eigen variabele en initialiseert de waarde op nul 6 Typ de volgende code : . If ( $ row [ ' ouder ' . ] == $ ouder ) { $ resultaat = " - { $ rij [ text ] } " ; foreach ( $ row als $ r ) {if ( $ r [ ' parent ' ] == $ r [ ' id ' ] ) $ kinderen = true; anders $ kinderen = false; } if ( $ kinderen = true ) $ resultaat = TreeMenu ( $ rijen, $ row [ ' id ' ] ) . . " < /li > ' ; }
Deze regels code gebruik " als " statements en lussen om door de informatie in de PHP variabele die de boom menustructuur bevat . Als de rij is een ouder met een ID- waarde van nul , de functie creëert een bovenliggende node . Als de rij is een kind , het wordt de ID van de bovenliggende node en creëert een onderliggend knooppunt gekoppeld aan haar moedermaatschappij . Het roept de functie " TreeMenu " recursief op elke rij in de PHP array variabele controleren Type 7 de volgende code : . . } $ Resultaat = " < /ul > ' ; return $ resultaat ; } Deze lijnen sluit de lus "voor" dat langs elke rij in de MySQL resultaat , voeg wat HTML -code en de terugkeer van de boom uit de functie . De laatste regel sluit de " TreeMenu " functieblok Type 8 de volgende code : . ? Echo TreeMenu ( $ menu) ; > eerste regel roept de functie " TreeMenu " en gaat de informatie uit de MySQL database voor het. Het drukt vervolgens de boom op de webpagina . De tweede regel sluit het codeblok PHP .
|