Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RÉCUPÉRER TOUTES LES VALEURS D'UN SELECT MULTIPLE DANS UNE VARIABLE PHP


Information sur la source

Catégorie :Trucs & Astuces Niveau : Initié Date de création : 24/03/2003 Date de mise à jour : 24/09/2004 13:00:08 Vu : 21 338

Note :
5,17 / 10 - par 6 personnes
5,17 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

Après avoir passé plusieurs heures à chercher un script pour ça j'ai rien trouvé ..
et j'ai finalement réussi à dévelopé un truc sympa ..enfin pour ceux qui en auront l'utilité ;o)

le problème :
- Récupérer toutes les valeurs inscrites dans un champ select dans une variables php afin de traiter ces données séparément.
- le problème c'est qu'il fallait déjà au départ sélectionner tous les items du select pour les envoyer via un formulaire
- ensuite vient le traitement de la variable envoyé (qui n'est pas reconnu comme un tableau :o(  )
- ensuite faire en sorte que l'id du champ select, reste totalemnt traitable en javascript (l'astuce du "mon_id[]" plante en JavaScript :o( )
-------------------------

ben j'ai fini par trouver ;o)

ce script permet de mettre plusieurs formulaire sur la même page et de pouvoir les traiter séparément et surtotu de récupérer facilement le contenu du champ select

j'ai intégré dans le script la lecture de la variable pour que le fonctionnement soit clair

petit détails (tant qu'à faire :p le script est fonctionnel IE6 et Net6 ;) )
 

Source

  • <?
  • /***********************************
  • * CaptureSelect | v1.2
  • * 24/09/2004 - 12:46
  • * BLINCKERS© Groups - McPeter
  • ***********************************
  • * http://www.blinckers-groups.com
  • * mcpeter%40blinckers-groups.com
  • ***********************************/
  • // Traitement après post et affichage des valeurs du champ select
  • if(isset($_POST['Col1']) && !empty($_POST['Col1'])){
  • $Col1_Array = $_POST['Col1'];
  • foreach($Col1_Array as $selectValue){
  • echo $selectValue."<br>";
  • }
  • }
  • ?>
  • <html>
  • <head>
  • <title>Recuperer valeur select dans variable php</title>
  • <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  • <script>
  • function PostSelect(liste){
  • // On compte le nombre d'item de la liste select
  • NbCol1 = document.forms[liste].elements.Col1.length;
  • // On lance une boucle pour selectionner tous les items
  • for(a=0; a<NbCol1; a++){
  • document.forms[liste].elements.Col1.options[a].selected = true;
  • }
  • // On modifie l'ID du champ select pour que PHP traite cette
  • // dernière comme un array
  • document.forms[liste].elements.Col1.name = "Col1[]";
  • // On soumet le formulaire
  • document.forms[liste].submit();
  • }
  • </script>
  • </head>
  • <body>
  • <form name="Liste1" method="post" action="capture_select.php" onSubmit="PostSelect(this.name)">
  • <select name="Col1" size="4" multiple style="width: 150px">
  • <option value="Valeur 1">Valeur 1</option>
  • <option value="Valeur 2">Valeur 2</option>
  • <option value="Valeur 3">Valeur 3</option>
  • <option value="Valeur 4">Valeur 4</option>
  • <option value="Valeur 5">Valeur 5</option>
  • </select><br><br>
  • <input name="Envoyer" type="submit" value="Envoyer" />
  • </form>
  • </body>
  • </html>
<?
/***********************************
 *       CaptureSelect | v1.2
 *        24/09/2004 - 12:46 
 *   BLINCKERS© Groups - McPeter
 ***********************************
 *  http://www.blinckers-groups.com
 *  mcpeter%40blinckers-groups.com
 ***********************************/

// Traitement après post et affichage des valeurs du champ select
if(isset($_POST['Col1']) && !empty($_POST['Col1'])){
  $Col1_Array = $_POST['Col1']; 
  foreach($Col1_Array as $selectValue){
    echo $selectValue."<br>";
  }
}
?>
<html>
<head>
<title>Recuperer valeur select dans variable php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<script>
function PostSelect(liste){
  // On compte le nombre d'item de la liste select
  NbCol1 = document.forms[liste].elements.Col1.length;
  
  // On lance une boucle pour selectionner tous les items
  for(a=0; a<NbCol1; a++){
    document.forms[liste].elements.Col1.options[a].selected = true;
  }
  
  // On modifie l'ID  du champ select pour que PHP traite cette 
  // dernière comme un array
  document.forms[liste].elements.Col1.name = "Col1[]";

  // On soumet le formulaire
  document.forms[liste].submit();
}
</script>
</head>

<body>
<form name="Liste1" method="post" action="capture_select.php" onSubmit="PostSelect(this.name)">
  <select name="Col1" size="4" multiple style="width: 150px">
    <option value="Valeur 1">Valeur 1</option>
    <option value="Valeur 2">Valeur 2</option>
    <option value="Valeur 3">Valeur 3</option>
    <option value="Valeur 4">Valeur 4</option>
    <option value="Valeur 5">Valeur 5</option>
  </select><br><br>
  <input name="Envoyer" type="submit" value="Envoyer" />
</form>
</body>
</html>

Historique

24 septembre 2004 13:00:08 :
Mise à jour de la source Rendu compatible Mozilla/IE Actualisation des variables $_POST @++

Commentaires et avis

signaler à un administrateur
Commentaire de benangi le 29/04/2003 16:13:09

Pas vraiment utile ce script car il suffit de déclarer Coll[] comme nom du select et ensuite l'on a en php dans les get ou post (selon la méthode d'envoi du form) un tableau des valeurs.

signaler à un administrateur
Commentaire de aannick le 07/06/2003 03:01:09

bonsoir pouvez vous m'aider à résoudre un problème en javascript  concernant une carte qd on passe avec la souris on peut voir les adresse et les email des destinataires ce script est trop long pour mettre en commentaire
merci

signaler à un administrateur
Commentaire de McPeter le 07/06/2003 22:02:15

Salut
j'avais même pas vu le message de benangi ..
alors ...benangi avant de dire que le script n'est pas utile, essayes de récupérer la totalité des valeurs contenu dans un select avec juste le nom du champ ...
t'auras tout faut !
la seule valeur renvoyé, sera celle qui est sélectionné !
donc avant de dire n'importe quoi ... donnes plutot des améliorations au script genre l'intervention de jeca ici : http://www.phpcs.com/article.aspx?ID=480


et pour aanick :
t'es sur d'être au bon endroit là ???
tu devrais poser ta question dans le forum...
de plus ton problème ne relève pas vraimment d'un select donc je vois pas où tu veux en venir
c'est plutot un problème de réaction sur la souris.

@++

signaler à un administrateur
Commentaire de McPeter le 07/06/2003 22:04:26

et quand on fait des commenatires à deux balles et qu'on donne une note de 1 / 10 sans avoir pondu un seul script on s'abstient benangi
@++

signaler à un administrateur
Commentaire de aannick le 07/06/2003 22:28:42

c'était pour un prob de programmation en javascript ce n'est pas un problème de souris le script fait qd meme plus de 100 lignes
il ne se laisse pas envoyé ca doit être trop lourd
mais bon je voulais pas vous déranger
merci
la carte est sur le site
http://www.alsacemonde.de/
dans le lien club/vereine

signaler à un administrateur
Commentaire de McPeter le 08/06/2003 01:25:23

Pose ta question dans les forums du site CS ou dans le mien http://forums.blinckers-groups.com

et je regarderais ton script pour voir si on peut faire plus cour
@++

signaler à un administrateur
Commentaire de starshout le 21/10/2003 10:21:45

Au top ton script :))) merci bcp !!

J'avais un pb pr recup les valeur d'une zone de lise multiple apres les avoir passer d'une liste à l'autre. Donc voilà :p

byou

signaler à un administrateur
Commentaire de TheBigBossJeff le 04/05/2004 15:23:04

Oui bien ... vraiment pas mal. Tout à fait ce que je cherchais.

Y avait un autre moyen un peu moins bien peut-être :
faire un script java qui mette les valeurs de la liste (séparées par un caractère) dans un champ de type hidden.
Ensuite en php on récupère le champ hidden et on l' "explode".

L'inconvénient de cette méthode c'est de trouver un caractère qui ne soit pas contenu dans les valeurs de la liste.

signaler à un administrateur
Commentaire de lsdInside le 28/05/2004 23:09:45

Ce problème m'a bloqué plusieurs heures.
En effet, le changement de nom est petit tour de passe-passe bien vu.
Très utile !

signaler à un administrateur
Commentaire de krikete le 28/05/2007 00:45:49

je voudrais savoir si c possible de recuperer la valeur du select dans une variable java????

signaler à un administrateur
Commentaire de TheBigBossJeff le 28/05/2007 15:44:09

oui il suffit d'écrire ton code java comme suis :

var mavariable='<?php echo $nomduselect; ?>';

signaler à un administrateur
Commentaire de chorokari le 02/07/2007 17:32:30

Ja vous remrci vraiment c'est un code trés utile il m'a beaucoup aidé, merci beaucoup beaucoup beaucoup....

signaler à un administrateur
Commentaire de snipx69 le 20/12/2008 18:35:13

A priori, on connait les valeurs envoyés donc on récupère les données comme ceci :

$_POST['tableau']['0']
$_POST['tableau']['0']
$_POST['tableau']['0']
$_POST['tableau']['0']

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.