liste déroulante dynamique

liste déroulante dynamique - PHP - Programmation

Marsh Posté le 17-07-2006 à 09:51:14    

Code :
  1. $requete="SELECT * FROM `emploi`  ORDER BY `id_emploi` ASC";//requete permettant de selectionner tout dans l ordre croissant
  2.   $resultat = mysql_query($requete);
  3.   if ($resultat == FALSE)
  4.   {
  5.      echo "echec requete <BR>";
  6.   }
  7.   else
  8.   {
  9.    echo"<select name='emploi_cv'>";
  10.        while($ligne = mysql_fetch_array($resultat))
  11.        {
  12.      echo "<option value='".$ligne[0]."'>".$ligne[1]."</option>";
  13.    }
  14.    echo "</select>";
  15.   }


 
Voila mon code ci dessus qui permet de recuperer des valeurs "id_emploi" et "nom_emploi" dans une table "emploi"
 
Puis j affiche toutes mes valeurs presentes dans une liste déroulante (cela marche impecc)
 
Mais je voudrai savoir la chose suivante --> comment peut on garder ma valeur dans ma liste déroulante selectionné lorsque je soumet mon formulaire alors que celui ci ne satisfait pas les conditions de validation de mon formulaire  
 
Voila si quelqu un peut m aider ce serait génial !!! :D  
 

Reply

Marsh Posté le 17-07-2006 à 09:51:14   

Reply

Marsh Posté le 17-07-2006 à 10:04:55    

dans ton while :
 
 

Code :
  1. echo "<option value='".$ligne[0]."' ";
  2. if( $_POST['emploi_cv']==$ligne[0] ){
  3.   echo " selected ";
  4. }
  5. echo ">".$ligne[1]."</option>";

Reply

Marsh Posté le 17-07-2006 à 10:17:26    

nemohp a écrit :

dans ton while :
 
 

Code :
  1. echo "<option value='".$ligne[0]."' ";
  2. if( $_POST['emploi_cv']==$ligne[0] ){
  3.   echo " selected ";
  4. }
  5. echo ">".$ligne[1]."</option>";



 
ok cela marche nikel merci bcp de ton aide si précieuse !!! :D  ;)

Reply

Marsh Posté le 17-07-2006 à 10:26:44    

de rien
 
sinon , un petit conseil, au lieu d'utiliser : $ligne[1] , utilise le nom du champs : exemple $ligne['idPersonne']
 
ça améliore la lisibilité, la maintenabilité et le risque lié au modification de la BDD (si on modifie l'ordre des champs par exemple)

Reply

Marsh Posté le 17-07-2006 à 10:41:33    

ah oui pas bete c clair car le projet que je suis en train de réaliser sera surement mis à jour par une autre personne donc autant qye se soit le plus lisible possible ;) :d

Reply

Marsh Posté le 17-07-2006 à 11:29:58    

Une autre question a te poser , maintenant je fais la même chose en mode modification ,
 
comment je fais pour recuperer ma valeur dans ma base et la selectionner par defaut dans mon menu deroulant  
je vois pas trop comment faire merci ( dsl je suis debutant en php ) et j ai un peux de mal avec les SELECT html  

Reply

Marsh Posté le 17-07-2006 à 11:52:57    

j'ai pas bien compris, tu veux faire un truc comme ça ?
 

Code :
  1. $requete = "SELECT valeur FROM table WERE cle='".$cle."'";
  2. $resultat = mysql_query($requete);
  3. $if( $ligne = mysql_fetch_array($resultat) ){
  4.       $requete2="SELECT * FROM `emploi`  ORDER BY `id_emploi` ASC";//requete permettant de selectionner tout dans l ordre croissant
  5.  
  6.                $resultat2 = mysql_query($requete2);
  7.                if ($resultat2 == FALSE)
  8.                {
  9.                         echo "echec requete <BR>";
  10.                }
  11.                else
  12.                {   
  13.      
  14.                       echo "<select name='emploi_cv'>";
  15.                      while($ligne2 = mysql_fetch_array($resultat2))
  16.                      {           
  17.                          echo "<option value='".$ligne[0]."' ";
  18.                          if( $ligne['valeur']==$ligne2[0] ){
  19.                             echo " selected ";
  20.                          }
  21.                             echo ">".$ligne2[1]."</option>";
  22.                          }
  23.                          echo "</select>";
  24.                }
  25. }


Message édité par nemohp le 17-07-2006 à 11:53:41
Reply

Marsh Posté le 17-07-2006 à 12:02:54    

oui c'est truc de ce genre je te file ma nouvelle version du code pour mieux comprendre :
 
avec les vrai valeur "id_emploi" et "nom_idee" :
 

Code :
  1. $requete_emploi="SELECT * FROM `emploi`  ORDER BY `id_emploi` ASC";//requete permettant de selectionner tout dans l ordre croissant
  2.        $resultat_emploi = mysql_query($requete_emploi);
  3.        if ($resultat_emploi == FALSE)
  4.        {
  5.         echo "echec requete <BR>";
  6.        }
  7.        else
  8.        {
  9.         echo"<select name='emploi_cv'>";//affiche la liste déroulante correspondant à l emploi
  10.         while($ligne_emploi = mysql_fetch_array($resultat_emploi))
  11.         {
  12.          echo "<option value='".$ligne_emploi['id_emploi']."' ";
  13.          if( @$_POST['emploi_cv']==$ligne_emploi['id_emploi'] )
  14.          { 
  15.           echo " selected ";
  16.          }
  17.          echo ">".$ligne_emploi['nom_emploi']."</option>";
  18.         }
  19.         echo "</select>";
  20.        }


 
En gros je veux selectionner mon emploi dans ma base et apres le modifier si besoin il y a tt simplement


Message édité par mitch46000 le 17-07-2006 à 13:51:18
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed