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
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
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
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...

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
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

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
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.
Mais l'idée est la comme elle l'est dans la doc.