Insérer plusieurs choix d'un select multiple

Fermé
louetzhang - 26 juin 2006 à 20:10
 plume - 4 janv. 2009 à 17:32
Bonjour,
J'ai une liste déroulante a choix multiples alimentées des valeurs d'une table de ma base.
//////////////////////
Code:

<select name="id_loisirs[]" size="6" multiple>

PHP:
<?php
$query="select * from loisirs order by id_loisirs";
$result=mysql_query($query);
while($i=mysql_fetch_array($result))
{
$loisirs=$i[loisirs];
$id_loisirs=$i[id_loisirs];
echo "<option value=\"".$id_loisirs."\">".$loisirs."</option>\n";
} ?>
</select>

////////////

et du coté traitement je récupère ma valeur id_loisirs et j'insere dans ma base comme suit :

PHP:
foreach($id_loisirs as $elem) {
echo $elem.'<br/>' ;
}

// insertion annonce
$query="insert into $table_annonces (id, id_user, id_cat, tel, tel_2, id_loisirs, date, accroche ,text, img,url)";
$query.=" values ('','$id_user', '$id_cat', '$tel', '$tel_2','$elem', '$date','$accroche', '$text', '$img' ,'$url')";


/////////////


mon probleme concerne le champ id_loisirs : quand je valide mon choix multiple, j'ai 1 seul (le dernier) enregistrement inséré dans ma base.
Je me casse la tete depuis des heures sans succes... j'ai essayé d'autres methodes et j'ai aussi eu le cas ou la valeur ARRAY s'est mise dans ma table... Comment insérer tous mes choix sélectionnés de ma liste a choix multiples (id_loisirs) dans ma table, en les séparant par des ; afin de les traiter par la suite ???

merci de votre aide, je desespere...

a+
A voir également:

1 réponse

Bonjour,
voilà je fais un site avec le logiciel web accapella. dans mon site je voudrais faire un formulaire et entrer un menu déroulant comme par exemple comme l'on peut voir dans certain site lorsqu'on doit indiquer sa profession.malheureusement je ne sais pas comment faire, j'ai copier un code script mais cela ne fait rien. pourriez vous m'aider? MERCI
1