Page 1 sur 2

Liste à choix multiples

Posté : 14 janv. 2007, 16:43
par cmoi
Bonjour,

dans ma base, j'ai des listes à choix multiples (set). Et dans mon formulaire, j'ai le champ équivalent. Pourtant, je ne reçois que le premier choix sélectionné.

Qui a la réponse à ce problème ? Merci.

Re: Liste à choix multiples

Posté : 14 janv. 2007, 17:06
par Truc
Qui a la réponse à ce problème ?
Ma vieille voisine certainement... tu sais pas cliquer :roll:
:arrow:

Toujours montrer le bout de code qui pose problème.
Parce qu'il peut y en avoir un paquet de réponses dont tu n'aura rien à faire :wink:

Mais je dirais qu'il te manque les [] à l'attribut name.

Posté : 14 janv. 2007, 17:29
par cmoi
dans un premier temps, le formulaire m'envoyait les infos par mail. Et je recevais tout correctement.
dans un second temps, j'ai modifié "action" pour recevoir sur une page php. Et c'est là que débute le problème.

Re: Liste à choix multiples

Posté : 14 janv. 2007, 17:43
par Hubert Roksor
C'est très désagréable de constater que les gens ne prennent pas le temps de lire ce qu'on écrit :(

Posté : 14 janv. 2007, 17:53
par cmoi

Code : Tout sélectionner

<select name="THEMES" size="10" multiple>
tu veux dire qu'il faut écrire ["THEMES"] ?

Posté : 14 janv. 2007, 17:55
par iclo
non, il faut écrire THEMES[]
Et ce qui t'était demandé, c'est de nous montrer le code, sans cela, on ne peut pas deviner où est ton erreur... :wink:

Posté : 14 janv. 2007, 18:05
par cmoi

Code : Tout sélectionner

<select name=public[] size="5" multiple> <option value="" selected>Choisissez (choix multiples en cliquant sur Ctrl)</option> <option value=Salariés>Salariés</option> <option value=Demandeurs>Demandeurs d'emplois </option> <option value=Etudiants>Etudiants</option> <option value=Alternance>Alternance </option> </select>
j'ai modifié name="PUBLIC" en name=PUBLIC[]
Mais il doit y avoir autre chose car ça ne va pas.

Posté : 14 janv. 2007, 18:27
par iclo
Et le code qui récupère les données, on peut le voir ?? 8-) 8-) 8-) 8-)

Posté : 14 janv. 2007, 18:29
par cmoi
if(isset($_POST['PUBLIC']))      $url=$_POST['PUBLIC'];
else      $PUBLIC="";
Le voici

Posté : 14 janv. 2007, 18:34
par iclo
Le fait de rajouter des [] après le nom du champ, en fait un tableau, que tu dois donc parcourir pour récupérer les différentes valeurs sélectionnées.
Regardes du côtés de la fonciton foreach, pour parcourir les valeurs sélectionées.

Posté : 14 janv. 2007, 18:42
par cmoi
j'ai trouvé ça :
foreach(array_expression as $value)  commandes
mais ça s'intègre comment dans mon code ?

Posté : 14 janv. 2007, 19:30
par Truc
Ho, tu veux bien réfléchir un peu par toi même !!
On te donne une indication tu reviens 10min après en disant j'ai trouvé la doc.

As tu essayé de bidouiller un script avec ça ?!
Tu sais pas comment ? regarder un peu la doc c'est très bien expliqué et plein d'exemples.

Posté : 14 janv. 2007, 19:56
par Aureusms
Le gronde pas il est jeune ...

La réponse :
if(isset($_POST['PUBLIC']))     
$url=$_POST['PUBLIC'];
else      $PUBLIC="";

foreach ($url as $cle => $valeur) {
           echo $valeur.'<BR>';
}

 

Posté : 14 janv. 2007, 20:15
par iclo
Le gronde pas il est jeune ...
Le problème, c'est pas d'être jeune, on lui a donner les éléments pour parvenir à ce qu'il souhaite avoir et on a pas l'impression qu'il a vraiement chercher, d'autant plus que la doc sur le net comprend quasiment toujours des exemples pour comprendre comment ça marche.
C'est en se cassant un peu la tête qu'on apprend, pas en attendant que le code tombe du ciel :wink:

Posté : 14 janv. 2007, 22:21
par Truc
Le gronde pas il est jeune ...
Comme les pti chiens... je ne fait que de montrer mes dents :mrgreen:
if(isset($_POST['PUBLIC']))     
$url=$_POST['PUBLIC'];
else      $PUBLIC="";

foreach ($url as $cle => $valeur) {
           echo $valeur.'<BR>';
}
 

sauf que là il va nous revenir en disant que ça plante...
Si $_POST['PUBLIC'] n'existe pas $url ne va pas exister et donc erreur pour foreach. :wink:
Mais l'idée est la comme elle l'est dans la doc.