0
votes

Menu multi-niveau dynamique et sous-menu PHP MySQL

J'ai un menu qui doit être créé de manière dynamique à partir de la base de données. besoin d'avoir menu et sous-menu xxx pré>

par exemple (wht je veux): p>

Si A est un élément de menu et A1 A2 A3 est un élément de sous-menu ce que je veux menu comme ça A p>

a1 p>

a2 p>

a3 p>

mais ce que je reçois avec ce code est p>

AAA P>

A1 A2 A3 P>


6 commentaires

Mettez

  • mettre cette ligne de tandis que la boucle . Cette ligne est itérante tout ce qui est pourquoi vous obtenez au-dessus de la sortie.


    il n'importera pas d'intule


    Intitule variable non définie


    Votre menu et sous-menu est dans la même table? Pouvez-vous montrer votre structure de table avec quelques données dedans??


    NON dans un menu de table différent dans les rubriques et le sous-menu dans les actions


    Je vais ajouter la base de données dans le sujet


  • 3 Réponses :


    0
    votes

    Il serait plus habituel de voir cette requête écrite comme ceci: xxx


    0 commentaires

    0
    votes

    Comme votre menu code> et Sous-menu code> est dans une table différente, vous pouvez sélectionner le menu code> d'abord, puis sélectionnez le sous-menu Selon le menu sélectionné .IE:

     <?php
    //getting menu first
    $sql  = 'SELECT id,intitule FROM rubriques';
    $stmt = $conn->query($sql);
    if ($stmt->num_rows > 0) {
       while($row = $stmt->fetch_assoc()){
           //getting values  
            $intitule = $row['intitule '];
            $idr = $row['id']; ?>
           <!--your menu-->
        <li class="active"><a href="index.html"><?php
            echo $intitule;
         ?></a>
      <?php
       //passing the id from first to action table for compare and retrieve that rows only
            $sql1  = 'SELECT  * FROM actions where idr= ' . $idr;
            $stmt1 = $conn->query($sql1);
       ?>
         <ul class="dropdown">
        <?php
            while ($row1 = $stmt->fetch_assoc()) {
                $lien  = $row1['lien'];
                $intitulee = $row1['intitulee'];
        ?>
    
            <!--your submenu-->
      <li><a href="<?php echo $lien;?>"><?php echo $intitulee; ?></a></li>
    
         <?php
    
            }
        ?>
           </ul> <!--closing ul -->
    
         </li>
    <?php
      }//closing while
    } //closing if
    ?> 
    


    8 commentaires

    Merci beaucoup mais sa génération d'un problème Undefined Index: Lien Index non défini: Intitulee


    Quelle sortie avez-vous eu? Avez-vous mis à jour votre code? En outre, j'ai fabriqué une erreur dans la deuxième tandis que la boucle passe à -> tandis que ($ Row1 = $ stmt1-> fetch_assoc ()) à la place de $ timt1 j'ai écrit là-bas $ stmt


    oui j'ai édité beaucoup merci beaucoup mais le code montre moi un élément de menu avec


    un élément de menu avec de nombreux sous-menus et c'est bon mais j'ai 3 dans la base de données


    Pourquoi un seul menu n'imprime qu'un seul code ci-dessus, tout Menu élément et Sous-menu doit être imprimé, avez-vous ajouté pendant la boucle comme dans la première requête?


    Merci pour votre aide, j'ai ajouté lors de la première déclaration


    Est-ce que cela imprime tous les menus présents dans votre table?


    Ok après deux jours, je vais "vous pouvez accepter votre propre réponse en 2 jours"



    0
    votes

    Le code final xxx


    0 commentaires