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 :

Liste déroulantes dynamiques


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
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut Liste déroulantes dynamiques
    Bonjour, je souhaiterais créer une liste déroulante de façon à ce que quand je sélectionne un groupe d'exploitation , j'aurais une autre liste déroulante qui me donne le nom des agences qui font partie de ce groupe d'exploitation et quand je sélectionne dans la deuxième liste une agence donnée, j'aurais toutes les infos concernant ladite agence du groupe d'exploitation sélectionné

    j'ai deux tables dans ma bdd sur phpmyadmin, une table groupe_exploitation et une autre agence
    quand j'utilise le code ci dessous , j'obtiens une 1ere liste avec mes groupes d'exploitations, par contre la deuxième liste reste vide, au lieu d'avoirs les agences correspondantes au groupe d'exploitation sélectionné.
    Merci d'avance
    ça fait 10 jours que je bloque sur ces ***** listes déroulantes



    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    <?php
    session_start();
    /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
    $serveur = "localhost";
    $admin   = "root";
    $mdp     = "";
    $base    = "agence";
    $connexion = mysql_connect($serveur, $admin, $mdp);
     mysql_select_db($base, $connexion);
     
     
    if(isset($_POST['groupe_exploitation'])){
        $_SESSION['groupe_exploitation'] = $_POST['groupe_exploitation'];
        echo 'vous avez choisi lae groupe_exploitation '.$_SESSION['groupe_exploitation'].'<br />';
    }
    if(isset($_POST['agencecpa'])){
        $_SESSION['agencecpa'] = $_POST['agencecpa'];
        echo 'vous avez choisi l"agence '.$_SESSION['agencecpa'].'<br />';
    }
     
    ?>
    Choisissez un groupe d'exploitation
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_groupeexp">
        <select name="groupexp" id="groupexp" onchange="document.forms['chg_groupexp'].submit();">
            <option>- - - Choisissez un groupe d'exploitation - - -</option>
            <?php
                $sql1 = "SELECT `id`, `nomgroupe`
                        FROM `groupe_exploitation`
                        ORDER BY `id`";
                $rech_groupe = mysql_query($sql1);
                if($rech_groupe != false){
                    while($ligne = mysql_fetch_assoc($rech_groupe)){  ?>
                        <option value="<?php echo $ligne['id']; ?>"
                        <?php if(isset($_SESSION['groupe_exploitation'])
                                AND $_SESSION['groupe_exploitation'] == $ligne['id'])
                                echo 'selected="selected"'; ?>>
                                <?php echo $ligne['nomgroupe']; ?>
                        </option>
                    <?php
                    }
                }
                mysql_free_result($rech_groupe);
                ?>
        </select>
    </form>  
    choisir une Agence
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_agencecpa">
        <select name="agencecpa" id="agencecpa" onchange="document.forms['chg_agencecpa'].submit();">
            <option>- - - Choisissez une sous-classe - - -</option>
            <?php
                if(isset($_SESSION['groupe_exploitation'])){
                    $sql2 = "SELECT `code`, `nom`
                            FROM `agencecpa`
                            WHERE `id` = ". $_SESSION['groupe_exploitation'] ."
                            ORDER BY `code`;";
                    $rech_agence = mysql_query($sql2);
                    if($rech_agence != false){
                        while($ligne = mysql_fetch_assoc($rech_agence)){  ?>
                            <option value="<?php echo $ligne['code']; ?>"
                            <?php if(isset($_SESSION['groupe_exploitation'])
                                    AND$_SESSION['agencecpa'] == $ligne['code'])
                                    echo 'selected="selected"'; ?>>
                                    <?php echo $ligne['nom']; ?>
                            </option>
                        <?php
                        }
                    }
                    mysql_free_result($rech_agence);
                }
                ?>
        </select>
    </form>

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Salut,

    je vois que tu appelles la liste groupexp dans ton form, puis tu essaies de la récupérer en faisant $_POST['groupe_exploitation']

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut
    oui ça n'a rien changer quand j'ai remis groupex. le problème c'est que la liste des groupes d'exploitations s'affiche, j'ai les groupes, par contre quand je clique sur un groupe donnée, la liste des agences lui correspondant reste vide.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Par défaut
    Je n'ai pas personnellement essayé ton code mais comme billoum dit ton $_POST['groupe_exploitation'] n'est pas bon, ensuite a tu essayé d'enlever ton mysql_free_result() (qui libère toute la mémoire et les ressources utilisées par la ressource de résultat result) ?

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <?php
    session_start();
    /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
    $serveur = "localhost";
    $admin   = "root";
    $mdp     = "";
    $base    = "agence";
    $connexion = mysql_connect($serveur, $admin, $mdp);
     mysql_select_db($base, $connexion);
     
     
    if(isset($_POST['groupe_exploitation'])){
        $_SESSION['groupe_exploitation'] = $_POST['groupe_exploitation'];
        echo 'vous avez choisi lae groupe_exploitation '.$_SESSION['groupe_exploitation'].'<br />';
    }
    if(isset($_POST['agencecpa'])){
        $_SESSION['agencecpa'] = $_POST['agencecpa'];
        echo 'vous avez choisi l"agence '.$_SESSION['agencecpa'].'<br />';
    }
     
    ?>
    Choisissez un groupe d'exploitation
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_groupeexp">
        <select name="groupe_exploitation" id="groupexp" onchange="document.forms['chg_groupexp'].submit();">
            <option>- - - Choisissez un groupe d'exploitation - - -</option>
            <?php
                $sql1 = "SELECT `id`, `nomgroupe`
                        FROM `groupe_exploitation`
                        ORDER BY `id`";
                $rech_groupe = mysql_query($sql1);
                if($rech_groupe != false){
                    while($ligne = mysql_fetch_assoc($rech_groupe)){  ?>
                        <option value="<?php echo $ligne['id']; ?>"
                        <?php if(isset($_SESSION['groupe_exploitation'])
                                AND $_SESSION['groupe_exploitation'] == $ligne['id'])
                                echo 'selected="selected"'; ?>>
                                <?php echo $ligne['nomgroupe']; ?>
                        </option>
                    <?php
                    }
                }
                //mysql_free_result($rech_groupe);
                ?>
        </select>
    </form>  
    choisir une Agence
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_agencecpa">
        <select name="agencecpa" id="agencecpa" onchange="document.forms['chg_agencecpa'].submit();">
            <option>- - - Choisissez une sous-classe - - -</option>
            <?php
                if(isset($_SESSION['groupe_exploitation'])){
                    $sql2 = "SELECT `code`, `nom`
                            FROM `agencecpa`
                            WHERE `id` = ". $_SESSION['groupe_exploitation'] ."
                            ORDER BY `code`;";
                    $rech_agence = mysql_query($sql2);
                    if($rech_agence != false){
                        while($ligne = mysql_fetch_assoc($rech_agence)){  ?>
                            <option value="<?php echo $ligne['code']; ?>"
                            <?php if(isset($_SESSION['groupe_exploitation'])
                                    AND$_SESSION['agencecpa'] == $ligne['code'])
                                    echo 'selected="selected"'; ?>>
                                    <?php echo $ligne['nom']; ?>
                            </option>
                        <?php
                        }
                    }
                    //mysql_free_result($rech_agence);
                }
                ?>
        </select>
    </form>
    si cela ne change rien je regarderais sa ce soir

  5. #5
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    code original
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_groupeexp">
        <select name="groupexp" id="groupexp" onchange="document.forms['chg_groupexp'].submit();">
    code corrigé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_groupexp">
        <select name="groupe_exploitation" id="groupexp" onchange="document.forms['chg_groupexp'].submit();">

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut
    @devcom59 merci pour la suggestion j'avais réessayer après avoir lu le commentaire de billoum, malheureusement pour moi ça n'avait rien changé. j'ai essayer maintenant en changeant des name et les $_POST et j'ai aussi utiliser le code de @patrickbaras. ça a marcher merci à tout le monde. ouffffffffffffffffffffffffffffffff je dois dire que ça fait un peu longtemps que je bloque dans l'affichage des enregistrements dans cette foutue 2éme liste déroulante. maintenant ça marche

    Encore une chose vue que vous vous y connaissez, j'aimerais afficher toute les données que contient ma table sur l’enregistrement sélectionné dans la seconde liste.
    par exemple je choisi un groupe d'exploitation dans ma 1ere liste, ensuite je choisi une des agences qui appartiennent à ce groupe dans la 2nd liste et après avoir sélectionné l'agence, j'aurais toute les infos la concernant. je sais pas si vous voyez ce que je veux faire ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer la valeur d'une liste déroulante dynamique
    Par grinder59 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 23/01/2006, 17h51
  2. Liste déroulante dynamique
    Par Screw16 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/10/2005, 20h37
  3. [HTML] liste déroulante dynamique
    Par lacousinee dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/08/2005, 20h51
  4. Liste déroulante dynamique ?
    Par Regis.C dans le forum Composants
    Réponses: 5
    Dernier message: 29/06/2005, 12h09
  5. [FORMULAIRE] Liste déroulante dynamique
    Par bchristo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/01/2005, 10h07

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