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

Langage PHP Discussion :

Réaffichage menu déroulant après validation


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut Réaffichage menu déroulant après validation
    Bonjour tout le monde,

    J'ai un menu déroulant qui est rempli grâce à une lecture dans une table de la base de données. Ceci fontionne très bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <select name="select_auto2" style="width:167px; font-weight:bold;">
    <?php
      include('Include/connexion.php');
      $sql = "SELECT distinct automate FROM automate ORDER BY automate"; 
      $resultat = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
      while ( $ligne = mysql_fetch_array($resultat) ) 
      {  
        $cmt = $ligne['automate']; 
        echo '<option value="'.$cmt.'" >'.$cmt.'</option>'; 
      } 
      include('Include/connexion.php');
    ?>
    </select>
    Maintenant ce que je voudrai, c'est qu'après la validation de mon formulaire la valeur sélectionnée dans le menu déroulant reste sélectionnée.
    J'ai fait pas mal de recherche mais sans résultats jusqu'à présent.

    Voici ce que j'ai essayé de faire :
    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
    <select name="select_auto" style="width:167px; font-weight:bold;">
    <?php
    include('Include/connexion.php');
    $sql = "SELECT distinct automate FROM automate ORDER BY automate"; 
    $resultat = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    while ( $ligne = mysql_fetch_row($resultat) ) 
    {  
      if($ligne[0]=='$selec') 
        echo "<option value=".$ligne[0]." selected>".$ligne[0];
      else 
        echo "<option value=".$ligne[0]." >".$ligne[0]; 
    } 
    include('Include/connexion.php');
    ?>
    </select>
    La variable '$selec' correspond à la valeur sélectionnée et envoyée par le formulaire.

    Pouvez-vous m'aider à résoudre mon problème ?
    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    if($ligne[0]=='$selec')
    retire les simple quote ça marchera mieux.
    de la façon que tu l'a acrit il évalue $ligne avec la chaine de caractère $selec

  3. #3
    Membre confirmé Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut
    Désolé pour le retard, j'ai enlevé les simples quotes comme tu as dis mais ça ne marche toujours pas.

  4. #4
    jnore
    Invité(e)
    Par défaut
    Bonsoir,
    Mets nous plus de code, notamment les paramètres de ton formulaire ainsi que la récupération de ta variable $selec.

  5. #5
    Membre confirmé Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut
    Le formulaire dans lequel se trouve le bout de code du premier post :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="POST" action="index.php?page=Recherche/recherche&sel=$auto_select" name="frm"></form>
    Au moment de la validation du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['select_auto']))      
    	$auto_select=$_POST['select_auto'];
    else      
    	$auto_select="";
    En haut de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_GET['sel']))
    {      
    	$selec=$_GET['sel']; 
    }

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    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
    <select name="select_auto" style="width:167px; font-weight:bold;">
    <?php
    include('Include/connexion.php');
    $sql = "SELECT distinct automate FROM automate ORDER BY automate"; 
    $resultat = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    while ( $ligne = mysql_fetch_row($resultat) ) 
    {  
      if($ligne[0]==$selec) 
        echo "<option value=".$ligne[0]." selected=\"selected\">".$ligne[0]."</option>";
      else 
        echo "<option value=".$ligne[0]." >".$ligne[0]."</option>"; 
    } 
    include('Include/connexion.php');
    ?>
    </select>
    j'ai refermé les options qui n'étaient pas terminées, enlevé les quote, dis nous si ca marche. Si non, il faut que tu essaies d'afficher $selec pour vérifier ce qu'il y a dedans.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/02/2010, 09h34
  2. Conserver l'état d'un menu déroulant après avoir changé de page
    Par coolzic dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/10/2009, 14h41
  3. [MySQL] Retenir les informations dans un menu déroulant après un rafraichissement
    Par cheik_koita dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 30/03/2009, 16h27
  4. [MySQL] Afficher valeur menu déroulant apres soumission du formulaire
    Par yagrasdemonde dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/12/2008, 18h06
  5. Reconstruire menu dynamique apres validation formulaire
    Par MANU_2 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/11/2007, 10h34

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