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

Requêtes MySQL Discussion :

[SGBD] Requete Mysql et menu en liste


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [SGBD] Requete Mysql et menu en liste
    Bonjour,
    Je cherche à créér un menu en liste qui agit avec une Bdd.
    Dans Ma base j'ai une table "cat" avec les champs "nom" & "id_cat", j'ai une autre table "doss" avec les champs "id_doss", "titre", "texte", "icone", "id_cat"...
    Je voudrais que pour mon menu il y ai 2 niveaux de listes : niveaux 1 les "cat" & pour chaque "cat" la liste des "doss" correspondant.
    J'ai un début de code (ci-dessous), quelqu'un peut-il m'aider à le corriger ? Merci.
    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
     
    <?php
        //connection au serveur:
    	$cnx = mysql_connect(SERVEUR, USER, PASS, DB) ;
     
        //sÈlection de la base de donnÈes:
        $db = mysql_select_db( "metalobil" ) ;
     
        //requÍte SQL:
        $sql = "SELECT nom, titre, texte, icone
    	      FROM cat, doss
    	      WHERE cat.id_cat = doss.id_cat
    	      ORDER BY nom" ;
     
        //exÈcution de la requÍte:
        $requete = mysql_query( $sql, $cnx ) ;
     
        //affichage des donnÈes:
       while( $result = mysql_fetch_object( $requete ) )
        { 
           echo("<div id=\"nav\">\n") ;
           echo("<ul class=\"level1\">\n") ;
           echo("<li class=\"submenu\">".$result->nom."\n") ;
           		echo("<ul class=\"level2\">\n") ;
           		echo("<li class=\"submenu\">".$result->titre."</li>\n") ;
           		echo("</ul>\n") ;
           		echo("</li>\n") ;
           echo("</ul>\n") ;
        }
      ?>

  2. #2
    Membre émérite Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Par défaut
    Tu veux faire des groupes de dossiers suivant leur catégorie c'est bien ça ?

  3. #3
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    Pourquoi ne pas passer par des tableaux (array).
    tu fais deux query. Un pour le nom, puis un autre pour les titres. Tu passes ces valeurs dans un tableau avec le nom en index et les titres en values.

    Bon ce n'est pas super optimise comme solution (beaucoup de boucles), mais pour l'instant c'est la seule solution que je vois.

  4. #4
    Invité
    Invité(e)
    Par défaut
    oui du type :
    • catégorie 1
      [list:477332cfa6]dossier1.1
      dossier1.2
      ...

    catégorie 2
    • dossier2.1
      ...

    catégorie 3
    • ...
    [/list:u:477332cfa6]

  5. #5
    Invité
    Invité(e)
    Par défaut
    Re bonjour,
    Sur un autre forum on m'a corriger mon code de la manière suivante :
    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
     
    <?php 
    //connexion au serveur: 
    $cnx = mysql_connect(SERVEUR, USER, PASS, DB) or die('connexion impossible'); 
     
    // sélection de la base de données: 
    $db = mysql_select_db( 'metalobil' ) or die ('sélection impossible de la table'); 
     
    //requête SQL: 
    $sql = 'SELECT nom, titre, texte, icone 
    FROM cat, doss 
    WHERE cat.id_cat = doss.id_cat 
    ORDER BY nom' ; 
     
    //exécution de la requête: 
    $requete = mysql_query( $sql, $cnx ) ; 
     
    //affichage des données: 
    //initialisations 
    ?> 
    <div id="nav"> 
     
    <?php 
    $nom=""; 
    while( $result = mysql_fetch_object( $requete ) ){ 
        if($nom!=$result->nom){ 
            if ($nom!=""){ 
    ?> 
            </ul> 
        </ul> 
    <?php 
                } //endif ($nom!="") 
            $nom=$result->nom; 
    ?> 
        <ul class="level1"> 
            <li class="submenu"><?php echo $result->nom; ?></li> 
            <ul class="level2"> 
    <?php 
            }//end if ($nom!=$result->nom) 
    ?>         
                <li class="submenu"><?php echo $result->titre; ?></li> 
    <?php 
        }//end while 
    ?>     
            </ul> 
        </ul> 
    </div>
    mais quand je le teste il m'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    nom){ if ($nom!=""){ ?> nom; ?>
    nom; ?>
    nom) ?>
    titre; ?>
    Je pense qu'il y a un problème à ce niveau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php 
    $nom=""; 
    while( $result = mysql_fetch_object( $requete ) ){ 
        if($nom!=$result->nom){ 
            if ($nom!=""){ 
    ?> 
            </ul> 
        </ul>
    Il n'y a pas d'ouverture <ul>, ni de <li>, mis j'ai tout essayé (ajouter,supprimer...) sans succès.
    Quelqu'un peut-il maider...svp

Discussions similaires

  1. [MySQL] Requete MySQL pour menu PHP
    Par xunil2003 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/03/2010, 02h19
  2. [SGBD] Requête MySQL en fonction de la date
    Par calenfeaion dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/06/2006, 20h50
  3. [SGBD] Problème de requête MySQL
    Par zakuza dans le forum Requêtes
    Réponses: 7
    Dernier message: 17/05/2006, 14h20
  4. liste déroulante + requet mysql
    Par Amenos dans le forum Débuter
    Réponses: 5
    Dernier message: 20/03/2006, 23h03
  5. [SGBD] requête sql en php pour mysql
    Par Thierry8 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2005, 22h31

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