Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1650 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Liste deroulante à choix multiple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Liste deroulante à choix multiple

n°1216514
Mams
Posté le 06-10-2005 à 13:44:46  profilanswer
 

Bonjour.
 
Je me heurte à un problème de liste déroulante à choix multiple.
J'ai passé plusieurs heures à chercher des infos avec Google mais je ne suis pas parvenu à trouver la solution qui pourtant ne doit pas être si compliquée que ça.
 
De très nombreux site expliquent comment créer une liste déroulante à choix multiple mais aucun (parmis ceux que j'ai trouvés) n'expliquent correctement comment récupérer les choix de l'utilisateur.
Jusqu'a présent je n'utilisais que des listes simples comme celle-ci qui fonctionne très bien.

Code :
  1. echo "<form method=\"post\" action=\"consult.php\">
  2.   Sélectionnez un département<br>
  3.   <select name=\"dep\" onchange=\"this.form.submit()\">
  4.   <option selected value=\"\">--- Département ---";
  5.  include("./connexion/connect.php" );
  6.  $requete=mysql_query("SELECT DISTINCT departement FROM boulangeries ORDER BY departement" );
  7.  while($row = mysql_fetch_row($requete))
  8.   {
  9.   echo "<option>".($row[0])."</option>";
  10.   }
  11.   mysql_close();
  12.   echo "</select></form>";

Pour récupérer le choix il suffit alors de ceci.

Code :
  1. $dep = $_POST["dep"];

C'est plutot simple.
Par contre en ce qui concerne les listes à choix multiples, je ne pige pas trop comment faire.
Pour le moment j'ai ceci:

Code :
  1. echo "<form method=\"post\" action=\"consult.php\">
  2.   Selectionnez une ou plusieurs ville(s)<br>
  3.   <font size=\"2\">Maintenez la touche <img src=\"/images/touche_ctrl.gif\"> appuy&#233;e pour selectionner plusieurs villes.<br></font>
  4.   <select name=\"select[]\" size=5 multiple>";
  5.   include("./connexion/connect.php" );
  6.   $requete=mysql_query("SELECT DISTINCT ville FROM boulangeries WHERE departement = '$dep' ORDER BY ville" );
  7.   while($row = mysql_fetch_row($requete))
  8.    {
  9.    $i++;
  10.    echo "<option value=\"".($row[0])."\">".($row[0])."</option>";
  11.    }
  12.   mysql_close();
  13.   echo "</select>
  14.   <INPUT TYPE=\"submit\" NAME=\"valide\" VALUE=\"Valider\" CLASS=\"bouton\">
  15.   </form>

Ca me permets bien de selctionner une ou plusieurs villes et je n'ai pas d'erreur quand je valide le formulaire mais impossible de récupérer les données.
Je ne suis pas sur que ce formulaire soit bon. Je sais qu'il y a une histoire de crochet "[ ]" mais comment s'en servir ?


Message édité par Mams le 06-10-2005 à 16:11:21

---------------
Je me lève de bonne humeur
mood
Publicité
Posté le 06-10-2005 à 13:44:46  profilanswer
 

n°1216521
sielfried
Posté le 06-10-2005 à 13:50:06  profilanswer
 

print_r($_POST) et tu verras bien.
 
Indice : [] ça fait penser à un tableau, nan ? :spamafote:

n°1217076
lkolrn
&lt;comment ça marche?&gt;
Posté le 06-10-2005 à 21:13:11  profilanswer
 

En plus de préciser la propriété 'multiple' (jcrois que d'un point de vue sémantique faut mettre multiple="multiple" )
 
nomme ton select name="mon_nom_de_select[]", oublie po les [] pour qu'il garde bien les valeurs sélectionnées dans un tableau
 
 
Après pour récup tes données tu lis ton tableau $_POST['mon_nom_de_select'][x]
 

Code :
  1. for ($i=0; isset($_POST['mon_nom_de_select'][$i]); $i++)
  2.     echo $_POST['mon_nom_de_select'][$i];


n°1217563
Mams
Posté le 07-10-2005 à 13:31:21  profilanswer
 

lkolrn a écrit :

En plus de préciser la propriété 'multiple' (jcrois que d'un point de vue sémantique faut mettre multiple="multiple" )
 
nomme ton select name="mon_nom_de_select[]", oublie po les [] pour qu'il garde bien les valeurs sélectionnées dans un tableau
 
 
Après pour récup tes données tu lis ton tableau $_POST['mon_nom_de_select'][x]
 

Code :
  1. for ($i=0; isset($_POST['mon_nom_de_select'][$i]); $i++)
  2.     echo $_POST['mon_nom_de_select'][$i];



Merci de ta réponse, ça a l'air d'être ça mais je ne peux pas le tester maintenant, le disque de mon serveur Debian vient de rendre l'ame  :cry:  


---------------
Je me lève de bonne humeur
n°1219197
Mams
Posté le 10-10-2005 à 02:20:32  profilanswer
 

Merci LKoLRn !  :jap:  
 
Ca marche nickel !!


---------------
Je me lève de bonne humeur
n°1590803
dany9741
Posté le 24-07-2007 à 14:13:40  profilanswer
 

bonjour,
je me heurtais au même type de pb:
 
voir: http://philippe.medan.free.fr/Cour [...] lePost.php
 
Ca peut t'aider
 
db

n°1921942
stefaninho
Posté le 07-09-2009 à 16:55:43  profilanswer
 

Merci LKoLRn, j'y ai passé l'après-midi avant de trouver ton post  :sweat:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Liste deroulante à choix multiple

 

Sujets relatifs
Conseil choix formation programmationrécupérer les données dans la liste d'un filtre automatique
Pb de liste deroulanteExcel > duppliquer et renommer onglet à partir d'une liste [résolu]
pb avec une liste deroulante[Struts] Problème de liste
Pb formulaire access et zone de liste ! help plz !Récuperer les infos d'une Liste/menu
Liste déroulante à choix multiple 
Plus de sujets relatifs à : Liste deroulante à choix multiple


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR