Recupérer données d'un select Multiple en php [Résolu/Fermé]

jonathan - 4 mars 2002 à 14:54 - Dernière réponse : Nouvelle_Informaticienne 131 Messages postés mercredi 20 avril 2016Date d'inscription 13 février 2018 Dernière intervention
- 28 avril 2016 à 15:27
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.
Afficher la suite 

10 réponses

robinjulie38 - 31 août 2006 à 09:22
+219
Utile
2
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
Cette réponse vous a-t-elle aidé ?  
khalidboutam 23 Messages postés dimanche 7 décembre 2008Date d'inscription 21 décembre 2012 Derniè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");
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
j'ai essayé ceci et ça na marche pas
>> 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>
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.
SAbrine je ne comprends pas ta question
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
Nouvelle_Informaticienne 131 Messages postés mercredi 20 avril 2016Date d'inscription 13 février 2018 Dernière intervention - 28 avril 2016 à 15:27
+2
Utile
merci pour l'exemple ci dessus tres pratique