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 déroulant alimenté par base de données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2019
    Messages : 33
    Par défaut Menu déroulant alimenté par base de données
    Je crois que je n'avais pas posté dans la bonne rubrique. avec mes excuses

    un petit menu déroulant alimenté par une base pdo.
    J'ai représenté ici les 2 premiers onglets.
    J'ai l'impression que j'ai compliqué les choses.
    Il doit bien y avoir moyen de simplifier tout ça ?

    Mon code :
    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
    34
    35
    36
    37
    <?php
    $cat='Arts';
     
    ?>
    <ul id="menu-accordeon">
    <li><a href="#">Arts</a>
    <?php
    $reponse = $pdo_conn->query("SELECT id,Activite,Categorie FROM pages where Categorie='$cat'");
    while ($donnees= $reponse->fetch())
    // debut de la boucle
    {
    ?>
    <ul>
    <li><a href="essai2.php?variable=<?php echo $donnees['id']; ?>"><?php echo $donnees['Activite'];?></a></li>
    </ul>
    <?php
    $cat='SPORTS & SANTE';
    }
    $reponse->closeCursor();
    ?>
    <!-------------------------------------------------- -->
    <li><a href="#">SPORTS & SANTE</a>
    <ul>
    <?php
    $reponse = $pdo_conn->query("SELECT id,Activite,Categorie FROM pages where Categorie='$cat'");
    while ($donnees= $reponse->fetch())
    // debut de la boucle
    {
    ?>
    <li><a href="essai2.php?variable=<?php echo $donnees['id']; ?>"><?php echo $donnees['Activite'];?></a></li>
    <?php
    }
    $reponse->closeCursor();
    ?>
    </ul>
    </li>
    </ul>
    Fin du code

  2. #2
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Bonjour,

    MERCI de mettre le CODE entre balises [CODE][/CODE] (icône # du menu)

    à tester :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
    // requête : activité par catégorie
    $sql = "SELECT id, Activite, Categorie 
    	FROM pages
    	ORDER BY Categorie ASC, Activite ASC ";
    $reponse = $pdo_conn->query($sql);
     
    $cat_current = '';
    $cat_first = true;
    ?>
    	<ul id="menu-accordeon">
    <?php
    // debut de la boucle
    while( $donnees= $reponse->fetch() )
    {
    	// à chaque changement de catégorie
    	if( $donnees['Categorie'] != $cat_current )
    	{
    		$cat_current = $donnees['Categorie'];
     
    		if( !$cat_first ) // sauf pour le 1er <li>
    		{
    			// on referme ul et li
    ?>
    			</ul>
    		</li>
    <?php
    		}
    			// on affiche la catégorie "en cours"
    ?>
    		<li>
    			<a href="#"><?php echo $cat_current;?></a>
    			<ul>
    <?php
    	}
    ?>
    				<li><a href="essai2.php?variable=<?php echo $donnees['id']; ?>"><?php echo $donnees['Activite'];?></a></li>
    <?php
    			$cat_first = false; 
    }
    ?>
    			</ul>
    		</li>
     
    	</ul>
     
    <?php
    $reponse->closeCursor();
    ?>

  3. #3
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2019
    Messages : 33
    Par défaut Menu déroulant alimenté par base
    Ok


    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php
    // requête : activité par catégorie
    $sql = "SELECT id, Activite, Categorie 
    	FROM pages
    	ORDER BY Categorie ASC, Activite ASC ";
    $reponse = $pdo_conn->query($sql);
     
    $cat_current = '';
    $cat_first = true;
    ?>
    	<ul id="menu-accordeon">
    <?php
    // debut de la boucle
    while( $donnees= $reponse->fetch() )
    {
    	// à chaque changement de catégorie
    	if( $donnees['Categorie'] != $cat_current )
    	{
    		$cat_current = $donnees['Categorie'];
     
    		if( !$cat_first ) // sauf pour le 1er <li>
    		{
    			// on referme ul et li
    ?>
    			</ul>
    		</li>
    <?php
    		}
    			// on affiche la catégorie "en cours"
    ?>
    		<li>
    			<a href="#"><?php echo $cat_current;?></a>
    			<ul>
    <?php
    	}
    ?>
    				<li><a href="essai2.php?variable=<?php echo $donnees['id']; ?>"><?php echo $donnees['Activite'];?></a></li>
    <?php
    			$cat_first = false; 
    }
    ?>
    			</ul>
    		</li>
     
    	</ul>
     
    <?php
    $reponse->closeCursor();
    ?>

  4. #4
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Donc ?
    Ça donne quoi ? (code HTML généré)

  5. #5
    Membre averti
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2019
    Messages : 33
    Par défaut Menu déroulant alimenté par base
    ça fonctionne bien :
    lorsque l'on clique sur le premier onglet : ARTS
    une liste d'activités se développent
    lorsque l'on clique sur le deuxième onglet : SPORTS et SANTE
    une liste d'activités correspondante se développe.
    Par contre j'ai encore 5 onglets à rajouter et à chaque fois je rentre une requête de plus
    Je me demande si je pourrais alléger mon code avec une seule requête.

    Merci

  6. #6
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Une seule requête : c'est ce que j'ai fait

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/04/2011, 12h10
  2. [MySQL] Menu déroulant alimenté par requete SQL
    Par perlgirl dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/11/2009, 17h03
  3. Graphe alimenté par base de données
    Par erigoal dans le forum Windows Forms
    Réponses: 26
    Dernier message: 03/12/2008, 14h27
  4. menu déroulant dynamique et base de données
    Par Heilong dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/08/2008, 09h48
  5. Réponses: 6
    Dernier message: 04/04/2008, 12h09

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