Maison > base de données > tutoriel mysql > le corps du texte

Comment créer des menus hiérarchiques avec une profondeur illimitée en PHP et MySQL ?

Linda Hamilton
Libérer: 2024-10-28 22:20:02
original
675 Les gens l'ont consulté

How to Build Hierarchical Menus With Unlimited Depth in PHP and MySQL?

Création de menus hiérarchiques avec une profondeur illimitée

Dans ce guide, nous explorerons comment créer des menus imbriqués avec un nombre illimité de niveaux en utilisant PHP et MySQL.

Structure de la base de données

Nous utiliserons une structure de base de données dans laquelle chaque élément de menu a un "id", un "parent_id" et un "title". Le champ "parent_id" stocke l'ID du parent de l'élément de menu, avec "0" indiquant un menu de niveau supérieur.

Récupération des sous-menus

Pour récupérer les sous-menus d'un menu parent, nous pouvons utiliser le code suivant :

<code class="php"><?php
$list = $obj->childmenu($parentid); 

foreach($list as $menu) {
    extract($menu);
    echo '<li><a href="#">'.$name.'</a></li>';
}
?></code>
Copier après la connexion

Vérification des sous-menus enfants

Pour vérifier si un menu a des sous-menus enfants, nous pouvons modifier le code ci-dessus comme suit :

<code class="php"><?php
$list = $obj->childmenu($parentid); 

foreach($list as $menu) {
    extract($menu);
    if (count($obj->childmenu($id)) > 0) {
        echo '<li><a href="#">'.$name.'</a><ul class="submenu">';
        $list2 = $obj->childmenu($id); 
        foreach($list2 as $menu2) {
            extract($menu2);
            echo '<li><a href="#">'.$name.'</a></li>';
        }
        echo '</ul>
        </li>';
    } else {
        echo '<li><a href="#">'.$name.'</a></li>';
    }
}
?></code>
Copier après la connexion

Ce code utilise une boucle imbriquée pour récupérer et afficher les sous-menus, garantissant que tous les niveaux de la hiérarchie sont capturés. Le résultat sera une structure HTML imbriquée avec des éléments de menu et leurs sous-menus correspondants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!