Les partenaires publicitaires:

Comment créer un menu d'arbre avec php mysql &

Un menu arborescent est une représentation visuelle d'une liste d'éléments, organisée de telle sorte que certains articles ou des catégories, appelées nœuds parents, peuvent être élargies et montrent sous-éléments, appelés nœuds enfants. Utilisation de PHP, vous pouvez extraire des informations à partir d'une base de données MySQL et de construire un arbre de menu sur une page Web. Votre table MySQL doit avoir un format spécifique, celle qui identifie noeuds parents et enfants 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

    Connectez-vous à votre base de données MySQL. Créer une table avec trois champs: l'ID de nœud, le texte pour le nœud et l'ID de parent pour le noeud. Insérer des informations dans la table. Chaque ID de nœud doit être unique. Nœuds au plus haut niveau ont zéro pour un noeud parent ID, tandis que nœuds enfants ont un ID parent qui correspond au champ d'identification pour les parents respectifs.

  • 2

    Ouvrez un fichier HTML dans lequel vous voulez créer un menu arborescent. Insérez le curseur là où vous voulez faire l'arbre. Tapez le code suivant:

    lt;? php
    $ Db = mysql_connect ($ hostname, $ username, $ password) -
    mysql_select_db ($ base de données);

    Ces lignes tout simplement mis en place la connexion à votre base de données MySQL. Modifiez les variables PHP à celles applicables à votre base de données.

  • 3

    Tapez le code suivant:

    $ Result = mysql_query ("SELECT * FROM table_name") 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


    Tapez le code suivant:

    $ Menu = Array () -
    while ($ m = mysql_fetch_array ($ result)) {
    $ Menu [] = Array ('id' = gt; m $ ['id'], 'text' = gt; $ m ['texte'], 'parent' = gt; $ m ['parent']) -
    }

    La première ligne crée une variable PHP et initialise comme un tableau. Le "tandis que" cycles de boucle par le biais de chacun des enregistrements dans la "$ Resultat" variable et les met en forme pour une utilisation par une fonction de PHP.

  • 5

    Tapez le code suivant:




    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 prend 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 que $ r) {
    if ($ r ['parent'] == $ r ['id'])
    $ enfants = vrai-
    autre
    $ enfants = faussement
    }
    if ($ enfants = true)
    $ Result. Treemenu = ($ rows, $ row ['id']). "
  • "-
    }

    Ces lignes de code d'utilisation "si" des déclarations et des boucles pour faire défiler les informations dans la variable PHP qui contient la structure de menu d'arbre. Si la ligne est un parent ayant une valeur d'ID de zéro, la fonction crée un nœud 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. Il appelle le "treemenu" fonctionner de manière récursive pour vérifier chaque ligne de la variable de tableau PHP.

  • 7

    Tapez le code suivant:

    }
    $ Result. = "

"-
retourner $ result-
}

Ces lignes fermer le "pour" boucle qui parcourt chaque ligne dans les résultats MySQL, ajoutent un peu de code HTML et le retour de l'arbre de la fonction. La dernière ligne de la ferme "treemenu" bloc de fonction.

  • 8

    Tapez le code suivant:

    écho treemenu ($ menu) -
    ?gt;

    La première ligne appelle la "treemenu" fonction et transmet les informations 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.

  • Conseils & Avertissements

    • Ajouter d'autres champs à votre table MySQL en tant que de besoin. Par exemple, vous pouvez ajouter un autre champ de texte qui contient des hyperliens pour chaque noeud.
    » » » » Comment créer un menu d'arbre avec php mysql &