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 :

Formulaire- Affichage valeur sélectionnée [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut Formulaire- Affichage valeur sélectionnée
    Bonjour,

    J'ai le formulaire et code suivant :

    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
     
     
    <form>
     
    <fieldset style="width: 350px">
     
    <legend><strong>Editeur</strong></legend>
     
    <label>Choisir :</label>
     
    <select name='id_editeur' id='auteur' onchange="this.form.submit();">
     
    <option value='-1'>Aucun</option>
     
    <?php
     
    $db = mysql_connect("localhost","root", "")  or die ('erreur de connexion');
    mysql_select_db('***',$db);
    mysql_set_charset( 'utf8' );
     
    $res = mysql_query("SELECT DISTINCT ED.NOM_EDITEUR AS editeur,ED.ID_EDITEUR AS id_editeur
    
    FROM LIVRE L
    
    INNER JOIN EDITEUR ED		
    ON ED.ID_EDITEUR = L.ID_EDITEUR
    ORDER BY  ED.NOM_EDITEUR");
     
     
    while($row = mysql_fetch_assoc($res)){
    echo "<option value='".$row["id_editeur"].">".$row["editeur"]."</option>";
     
    				     }?>
     
    </select>			
     
    </fieldset>
    </form>
     
     
    <?php		
     
    if( $row['id_editeur'] != null) { 
     
      $select_livre  = " SELECT L.TITRE AS titre (...) 
      WHERE ED.ID_EDITEUR=".$row['id_editeur'];
    ?>
    Après après avoir soumis le formulaire, je souhaiterais conserver l'affichage du nom de l'éditeur sélectionné ($row["editeur"]). Actuellement, l'affichage revient à "aucun". Pouvez-vous m'aider à obtenir le résultat souhaité ? Merci.

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Par défaut
    Je ne sais pas avec quelle méthode tu soumets ton formulaire (POST ou GET), mais je m'y prendrais de la façon suivante pour affecter la bonne valeur à ta zone SELECT... ceci à supposer que le submit te ramène à la même page et pas sur une autre page HTML:

    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
     
    <form name="monFormulaire" action="pageActuelle.php" method="POST"> 
     
    <fieldset style="width: 350px">
     
    <legend><strong>Editeur</strong></legend>
     
    <label>Choisir :</label>
     
    <select name='id_editeur' id='auteur' onchange="this.monFormulaire.submit();">
     
    <option value='-1'>Aucun</option>
     
    <?php
     
    $db = mysql_connect("localhost","root", "")  or die ('erreur de connexion');
    mysql_select_db('***',$db);
    mysql_set_charset( 'utf8' );
     
    $res = mysql_query("SELECT DISTINCT ED.NOM_EDITEUR AS editeur,ED.ID_EDITEUR AS id_editeur
     
    FROM LIVRE L
     
    INNER JOIN EDITEUR ED		
    ON ED.ID_EDITEUR = L.ID_EDITEUR
    ORDER BY  ED.NOM_EDITEUR");
     
     
    while($row = mysql_fetch_assoc($res)){
    if (isset($_POST['id_editeur']))
    {
       if($_POST['id_editeur'] == $row['id_editeur'])
       {
             echo "<option value='".$row["id_editeur"]."' selected>".$row["editeur"]."</option>";
       }
       else
       {
           echo "<option value='".$row["id_editeur"]."'>".$row["editeur"]."</option>";
       }
    }
    else
    {
        echo "<option value='".$row["id_editeur"]."'>".$row["editeur"]."</option>";
    }
     
    				     }?>
     
    </select>			
     
    </fieldset>
    </form>
     
     
    <?php		
     
    if( $row['id_editeur'] != null) { 
     
      $select_livre  = " SELECT L.TITRE AS titre (...) 
      WHERE ED.ID_EDITEUR=".$row['id_editeur'];
    ?>

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Merci pour ton code. Cela fonctionne mais bizarrement mon code javascript onchange="this.form.submit();" ne se déclenche plus. Je suis obligé de soumettre mon formulaire en créant un bouton submit et en cliquant dessus. Une idée sur ce dysfonctionnement ? Merci encore.

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    teste ceci :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms['leNomDeTonFormulaire'].submit();

  5. #5
    Membre expérimenté
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Par défaut
    Madfrix a effectivement raison. Et le problème vient de la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="monFormulaire" action="pageActuelle.php" method="POST">
    Avec cette ligne, j'ai donné un nom au formulaire en question (monFormulaire), tu peux évidemment l'appeler comme tu veux, mais maintenant pour y accéder il faut tenir compte de ce nouveau paramètre, ce que j'ai mal fait dans mon code précédent. Dans le onchange, il faudrait plutôt mettre ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name='id_editeur' id='auteur' onchange="document.monFormulaire.submit();">
    Ou bien, tu peux utiliser la méthode de Madfrix qui revient essentiellement au même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name='id_editeur' id='auteur' onchange="document.forms['monFormulaire'].submit();">
    Donc voilà, bon codage .

    Osu

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 402
    Par défaut
    Merci beaucoup à tous les 2 et particulièrement à osuwariboy pour ses explications aussi claires qu'instructives.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/06/2007, 11h10
  2. Réponses: 4
    Dernier message: 23/04/2007, 11h02
  3. Réponses: 1
    Dernier message: 02/04/2007, 15h49
  4. [Formulaire]Affichage de la valeur du champ
    Par Harmony dans le forum IHM
    Réponses: 2
    Dernier message: 24/03/2007, 17h50
  5. Affichage sous-formulaire si valeur non existante
    Par p'tite Sandrine dans le forum Access
    Réponses: 6
    Dernier message: 22/12/2006, 16h29

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