CommentCaMarche
Recherche
Posez votre question Signaler

Recupérer données d'un select Multiple en php

jonathan - Dernière réponse le 20 mai 2014 à 14:22
Je cherche à récupérer les données d'un select mutiple à l'aide de php. Pour cette liste voici le code pour faire afficher les infos a partir d'une base MySQL :
echo "<select name='EService_ft' size='4' multiple>";
$MyService_FT = new Service_FT;
$Result8 = mysql("$db","SELECT * FROM Service_FT");
$MyService_FT->getnum($Result8);
while ($MyService_FT->z < $MyService_FT->num) {
$MyService_FT->readrow($Result8);
echo "<option value='$MyService_FT->Service_FT'> $MyService_FT->Service_FT";
}
echo "</select>";

Lorsque je fais une sélection multiple ma valeur retournée est la dernière sélectionnée.

Si vous avez des info pour récupérer les info simplement, ou s'il y a une astuce pour récupérer les informations de cette liste de sélection multiple merci de m'en avertir.

merci d'avance et bon courage à tous.
Lire la suite 
Réponse
+198
moins plus
voici comment déclarer le select
(exemple de choix d'occasion pour faire des cadeaux)
 <select name="occasion[]" multiple size="5">
  <option value="1">Anniversaire</option>
  <option value="2">Fête des mères</option>
  <option value="3">Fête des pères</option>
  <option value="4">Saint valentin</option>
  <option value="5">Toute occasion</option>
 </select>

important le nom du select doit être suivit de crochets ouvrant/fermant "nomselect[]"
il faut indiquer l'attribut multiple dans le select
ensuite dans une autre page : récupération des données :
if(isset($_POST['occasion']) && !empty($_POST['occasion'])){
	$Col1_Array = $_POST['occasion'];
	print_r($Col1_Array);
        foreach($Col1_Array as $selectValue){
		//affichage des valeurs sélectionnées
                echo $selectValue."<br>";
	}
}

la variable représentant le select se récupère comme une variable à une valeur. le print_r permet de s'appercevoir que cette variable est une tableau.
Bonne continuation
khalidboutam 23Messages postés dimanche 7 décembre 2008Date d'inscription 21 décembre 2012Dernière intervention - 22 janv. 2011 à 22:24
comment insérer le donne de tableau dans la base de donné jai essayé
$tag = $selectValue;
mysql_query("insert into table values $tag");
Répondre
amine- 7 sept. 2011 à 14:15
merci c'était le nom qui pose problème il faut mettre les []
pourquoi le con Dreamweaver ne met pas cela et on le paye en plus
Répondre
Ajouter un commentaire
Réponse
+66
moins plus
midou- 25 oct. 2010 à 19:15
j'ai essayé ceci et ça na marche pas
Répondre
Naruto Kun- 2 févr. 2011 à 21:28
>> Essaies ce code là ! Chez moi, ça marche nickel !

<?php
if(isset($_POST['valider']))
{
if(($_POST['occasion']) && !empty($_POST['occasion'])){
$Col1_Array = $_POST['occasion'];
//print_r($Col1_Array);
foreach($Col1_Array as $selectValue){
//affichage des valeurs sélectionnées

echo $selectValue."<br>";
}
}
}
?>

<html>
<body>
<form method = "POST">
<select name="occasion[]" multiple size="5">
<option value="Anniversaire">Anniversaire</option>
<option value="Fête des mères">Fête des mères</option>
<option value="Fête des pères">Fête des pères</option>
<option value="Saint valentin">Saint valentin</option>
<option value="Toute occasion">Toute occasion</option>
</select>

<input name="valider" type="submit" value="Valider">

</form>
</body>
</html>
Répondre
sabrine- 25 mars 2012 à 15:54
Svp quel est le code qui me permet de lire des infos saisies dans un formulaire à partir d'une base de données puis de les afficher.
Répondre
dexter- 15 mai 2012 à 19:45
SAbrine je ne comprends pas ta question
Répondre
speedy fernandez- 20 mai 2014 à 14:22
je reprend un peu la question
si je veux utiliser un bouton select avec des option qui ont des valeurs correspondantes dans ma base de données. comment je fait svp
Répondre
Ajouter un commentaire
Ce document intitulé «  Recupérer données d'un select Multiple en php  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.