Un menu arborescent est une représentation visuelle d'une liste d'éléments, organisés de telle sorte que certains éléments ou catégories , appelées nœuds parents , peuvent être étendus et montrent les sous- éléments , appelés nœuds enfants. Utiliser PHP , vous pouvez extraire des informations à partir d'une base de données MySQL et de construire une arborescence sur une page Web. Votre table MySQL doit avoir un format spécifique , qui identifie les noeuds parents et de l'enfant et la relation entre eux . Chaque enregistrement de la table représente un noeud sur l'arbre. Vous pouvez créer plusieurs niveaux de nœuds enfants. Instructions
1
se connecter à votre base de données MySQL . Créer une table avec trois champs: l'ID de nœud , le texte du nœud et l'ID du parent du nœud . Insérer des informations dans la table . Chaque ID de nœud doit être unique. Les nœuds au plus haut niveau zéro pour avoir un ID de nœud parent , tandis que les nœuds enfants ont un parent ID qui correspond au champ d'identification pour les parents respectifs.
2
ouvrir un fichier HTML dans lequel vous voulez créer un menu arborescent . Placez le curseur là où vous voulez faire de l'arbre. Tapez le code suivant :
< php $ db = mysql_connect ( $ hostname , $ username , $ password ) ; mysql_select_db ( $ database ) ;
Ces lignes définissent simplement la connexion à votre base de données MySQL. Modifiez les variables PHP à celles qui s'appliquent à votre base de données
3
Tapez le code suivant : .
$ Result = mysql_query ("SELECT * FROM table" ) or die ( mysql_error ());
Cette ligne fait un appel à la base de données MySQL et obtient les informations de la table qui contient les informations de menu de l'arbre et l'enregistre dans une variable PHP
4 < . p > Tapez le code suivant :
menu $ = array (); while ($ m = mysql_fetch_array ( $ result) ) {$ menu [ ] = array ('id' => $ m ['id '] ,' text ' => $ m [ ' text ' ] , ' parent ' => $ m [' parent '] );}
La première ligne crée une variable PHP et l'initialise comme un tableau. . »Tandis que« les cycles de boucle à travers chacun des enregistrements dans le " $ result " variable et formats pour une utilisation par une fonction PHP
5
Tapez le code suivant :
< p > fonction treemenu ( $ rows , $ parent = 0) { $ result = "
" ; foreach ($ lignes que $ row ) {
La première ligne crée une nouvelle fonction appelée " treemenu " que vous allez utiliser pour construire votre arbre. Il faut un ou deux paramètres . Tout d'abord, il prend l'information à partir d'un tableau PHP . Le second est un entier qui contient des informations sur les nœuds parents dans l'arborescence . Si vous ne passez pas un second paramètre , il crée sa propre variable et initialise sa valeur à zéro
6
Tapez le code suivant : .
If ($ row [' parent . ] == $ parent ) { $ result = "
- { $ row [ texte] }"; foreach ( $ row comme R $ ) { if ($ r [' parent '] == $ r [ 'id '] ) $ enfants = true; Sinon $ enfants = false; } if ($ enfants = true) $ result = treemenu ( $ rows , $ row [' id'] ) . . "
";}
Ces lignes de l'utilisation de code " if" et des boucles pour faire défiler les informations dans la variable PHP qui contient la structure du menu d'arbre. Si la ligne est un parent avec une valeur d' ID de zéro , la fonction crée un noeud parent . Si la ligne est un enfant , il obtient l'ID du nœud parent et crée un nœud enfant lié à son parent. Elle appelle la fonction " treemenu " récursive pour vérifier chaque ligne de la variable tableau PHP
7
Tapez le code suivant : . .
} $ Result = "
"; retourner $ result ; }
Ces lignes proches de la« boucle de " qui parcourt chaque ligne dans les résultats MySQL , ajoutez un peu de code HTML et de retourner l'arbre de la fonction. La dernière ligne ferme le bloc de fonction " treemenu "
8 Type de
le code suivant : . ?
Treemenu d'écho ($ menu) ; > Photos
première ligne appelle la fonction " treemenu " et transmet l'information à partir de la base de données MySQL à elle. Il imprime ensuite l'arbre sur la page Web. La deuxième ligne ferme le bloc de code PHP.