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 "deroulants dynamiques"


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Menu "deroulants dynamiques"
    slt à tous,
    voila qui m'amene :
    j'ai 2 bdd, une qui contient des xaregorie
    catego1
    catego2
    catego3...
    l'autre des sous categorie
    souscatego1
    souscatego2
    souscatego3...

    Je les l'affiches dans mon formulaire à l'aide de ce 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
     
    $db = mysql_connect($cfgHote , $cfgLogin , $cfgPwd )  or die('Erreur de connexion '.mysql_error());
    mysql_select_db($cfgBase, $db)  or die('Erreur de selection '.mysql_error()); 
     
    $categ='<select name="catego">' ;
    $categ.='<option value=""> -- </option>';
     
    $requeteSQL="SELECT catego FROM categorie";
    $resultat = mysql_query($requeteSQL);  
          while ($donnees = mysql_fetch_object($resultat))
            {
                //la concatenation des champs se fait ici
                 $categ.='<option value="'.$donnees->catego.'">'.$donnees->catego.'</option>'; 
            }
    $categ .= '</select>';
    //---------------------------------------------------------------------------------------------------------------		
     
    $souscateg='<select name="souscatego">' ;
    $souscateg.='<option value=""> -- </option>';
     
    $requeteSQL1="SELECT souscatego FROM souscategorie";
    $resultat1 = mysql_query($requeteSQL1);  
          while ($donnees1 = mysql_fetch_object($resultat1))
            {
                //la concatenation des champs se fait ici
                 $souscateg.='<option value="'.$donnees1->souscatego.'">'.$donnees1->souscatego.'</option>'; 
            }		
    $souscateg .= '</select>';
    et ca fonctionne parfaitement.

    Par contre je voudrais avoir des restrictions du style :
    si je choisi la categ1 j'ai n'ai pas de choix pour les sous categorie
    ou si je choisi la categ3 je peux choisir une sous categorie

    Merci de votre aide
    @+

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    mai 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2006
    Messages : 74
    Points : 44
    Points
    44
    Par défaut
    Salut,
    je pense que tu est obligé de passer par du JavaScript, vu que t'as sélection de combobox se fait une fois le chargement de ta page terminée.

    Regarde ce petit script => http://www.thelin.net/laurent/labo/j...roulantes.html

    Voila @++

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    tu as deux solution soit tu recharge ta page apres le premier choix de selection soit tu t'oriente vers du javascript
    Stay in Bed .. Save Energy

  4. #4
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut
    peut être une autre solution :
    il me semble que en html il y a la notion optionGroup qui te permet de faire une liste déroulante hiérarchisée.
    Orthographe => Message Privé constructif svp

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673

  6. #6
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Je suis bien interessé par l'option javascript de cstan,
    mais comment integrer ca avec mon code ???

    si vous pouvez m'orienter ca serait cool.
    @+

  7. #7
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    j'essaie d'utliser le java et php, mais je bloc pour la mise en place du second menu.
    j'utilise donc :

    fonction javascript
    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
    <SCRIPT language="JavaScript">
    <!--
    function Choix(form) {
    i = form.catego.selectedIndex;
    if (i == 0) {
      for (i=0;i<4;i++) {
        form.Page.options[i].text="";
        }
      return;
      }
    form.Page.selectedIndex = 0;
    switch (i) {
    case 1 : var txt = new Array ('Matériel','Poissons','Sécurité'); break;
    case 2 : var txt = new Array ('Radioactivité','Information','Mesures'); break;
    case 3 : var txt = new Array ('Philosophie','Psychologie','Humour'); break;
    }
    form.Page.options[0].text="--- Choisissez une page ---";
    for (i=0;i<3;i++) {
      form.Page.options[i+1].text=txt[i];
      }
    } 
    // -->
    </SCRIPT>
    puis dans mon php

    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
    $db = mysql_connect($cfgHote , $cfgLogin , $cfgPwd )  or die('Erreur de connexion '.mysql_error());
    mysql_select_db($cfgBase, $db)  or die('Erreur de selection '.mysql_error()); 
     
    $categ='<select name="catego" onChange="Choix(this.form)">' ;
    $categ.='<option> -- </option>';
     
    $requeteSQL="SELECT catego FROM categorie";
    $resultat = mysql_query($requeteSQL);  
          while ($donnees = mysql_fetch_object($resultat))
            {
                //la concatenation des champs se fait ici
                 $categ.='<option value="'.$donnees->catego.'">'.$donnees->catego.'</option>'; 
            }
    $categ .= '</select>';
     
    //---------------------------------------------------------------------------------------------------------------		
     
    $souscateg='<select name="page">' ;
    $souscateg.='<option value=""> -- </option>';
     
    $requeteSQL1="SELECT souscatego FROM souscategorie";
    $resultat1 = mysql_query($requeteSQL1);  
          while ($donnees1 = mysql_fetch_object($resultat1))
            {
                //la concatenation des champs se fait ici
                 $souscateg.='<option value="'.$donnees1->souscatego.'">'.$donnees1->souscatego.'</option>'; 
            }		
    $souscateg .= '</select>';
    ensuite affichage classique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $categ;
    echo $souscateg;
    le probleme c'est pour lier les données de ma seconde bdd au script case1, case2.....

Discussions similaires

  1. [debutant]menu deroulant dynamique
    Par jojo971 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/07/2006, 10h47
  2. Menu deroulant dynamique vertical
    Par khokho dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 14/06/2006, 11h56
  3. Menu deroulant dynamique vertical
    Par khokho dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/06/2006, 15h34
  4. [xsl]simuler le mecanisme OO de "liaison dynamique"
    Par philemon_siclone dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 19/12/2003, 11h34

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