IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Menu et sous-menu déroulant


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 127
    Par défaut Menu et sous-menu déroulant
    Bonjour à tous,

    J'aimerais pouvoir afficher un menu, avec un sous menu déroulant.

    J'ai préparé une requête, que je sais fonctionnelle:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT a.*, GROUP_CONCAT(b.id,',',b.name,',', b.slug SEPARATOR '|') as Subpage
    FROM posts as a
    LEFT JOIN posts as b ON a.id = b.post_id
    WHERE a.TYPE = 'page' AND a.post_id is NULL
    GROUP BY a.id;


    Dans un tuto en POO/MVC, voici comment on affiche la requête pour un menu/sous-menu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <ul class="nav navbar-nav">
        <?php $pagesMenu = $this->request('Pages','getMenu'); ?>
        <?php foreach($pagesMenu as $p): ?>
            <?php if (!empty($p->Subpage)): ?> //on vérifie si subpage est différent de vide
                  <li class="dropdown">
                       <a href="#" class="dropdown-toggle" data-toggle="dropdown"><?php echo $p->name; ?><b class="caret"></b></a>
                       <ul class="dropdown-menu">                 
                <?php
                    $subpages = explode('|',$p->Subpage); // on explode sur le pipe pour récuperer les ensembles de chaines
                    foreach ($subpages as $subpage){ // on boucle sur le array de l'explode
                        $sub = explode(',',$subpage); // on explode sur la virgule pour récupérer les éléments de la chaines
                ?>
                            <li><a href="<?php echo Router::url('pages/view/id:'.$sub[0].'/slug:'.$sub[2]); ?>" title="<?php echo $sub[1] ?>"><?php echo $sub[1]; ?></a></li>
                <?php
                    }
                ?>
                      </ul>
                  </li>
            <?php else: ?> // si subpage est vide, on construit le menu normalement
                 <li>
                     <a href="<?php echo Router::url('pages/view/id:'.$p->id.'/slug:'.$p->slug); ?>" title="<?php echo $p->name; ?>"><?php echo $p->name; ?></a>
                 </li>
            <?php endif ?>
        <?php endforeach; ?>
    </ul>

    J'aimerais partir sur le même principe pour afficher mon menu et le sous-menu correspondant, mais je n'arrive pas à adapter ce code, moi qui ne suis pas en POO ni en MVC


    Si quelqu'un pouvait m'aider...

    D'avance merci!

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Qu'est ce que tu veux affiché depuis t'a requette et comment tu veut l'affiché.
    affiche un retour de ta table et du html static pour pouvoir t'aidé

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 127
    Par défaut
    Bon, et bien déjà, merci de votre aide.

    Voici ma table, et le résultat de ma requête:
    http://sqlfiddle.com/#!2/f4252/21

    Ensuite, en statique, voici le résultat que j'espère avoir (enfin, que je dois avoir lol):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <nav class="container">
        <div class="navbar navbar-default" role="navigation">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            	   <span class="sr-only">Toggle navigation</span>
    		    <span class="icon-bar"></span>
    		    <span class="icon-bar"></span>
    		    <span class="icon-bar"></span>
    	     </button>
            </div>
            <div class="navbar-collapse collapse">
                   <ul class="nav navbar-nav">
            		<li class="active"><a href="#">Accueil</a></li>
                            <li><a href="#">Les vétérinaires</a></li>
                			<!-- Sub menu -->
    			 <li class="dropdown">
                  			<a href="#" class="dropdown-toggle" data-toggle="dropdown">Nos services <b class="caret"></b></a>
                  			      <ul class="dropdown-menu">
                  					<li><a href="#">Consultations spécialisées oiseaux</a></li>
    				                <li><a href="#">Ostéopathie</a></li>
    				                <li><a href="#">Aromathérapie</a></li>
    				       </ul>
                		</li>
                             <li><a href="#">Visite des cabinets</a></li>
                			<li><a href="#">Nos produits</a></li>
                			<li><a href="#">Animaux perdus ou à adopter</a></li>
                			<li><a href="#">Liens</a></li>
                			<li><a href="#">Coordonnées</a></li>
              			</ul>
            		</div><!--/.nav-collapse -->
          		</div>
          	</nav>

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Première question
    - ou se trouve la sous-catégorie "Consultations spécialisées oiseaux" dans votre table de BDD?

    Si tu peux ajouter une colonne position dans votre table pour avoir le trie des menus.

Discussions similaires

  1. Ajouter un menu et sous menu suite au menu popup Profile As
    Par kkt8 dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 12/04/2013, 14h57
  2. [MySQL] Menu et sous menu déroulant
    Par feldi dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 07/01/2011, 10h09
  3. XML: Prob avec sous-menu d'un menu déroulant
    Par SirTurbo dans le forum Valider
    Réponses: 1
    Dernier message: 26/03/2009, 09h08
  4. Barre de menu et sous-menu déroulant
    Par Ginko dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 04/07/2008, 07h08
  5. Menu, avec sous menu et sous sous menu
    Par flolane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/12/2006, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo