Création
d'entreprise
Posez votre question Signaler

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

jonathan - Dernière réponse le 15 mai 2012 à 19:45
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 

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

8 réponses
Réponse
+127
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- 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");
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
Ajouter un commentaire
Réponse
+56
moins plus
meme pas un merci?
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>
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.
dexter - 15 mai 2012 à 19:45
SAbrine je ne comprends pas ta question
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.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?