begin process at 2010 02 09 18:08:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

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

Auteur : McPeter

Ecrire un message privé
Site perso
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 @++

 Sources du même auteur

AFFICHER UN POPUP DE DÉFINITION
AJUSTER DES IMAGES À LA DÉFINITION DE L'ÉCRAN DANS UNE NOUVE...

 Sources de la même categorie

VERIFIER UNE ADRESSE E-MAIL par elmersaid
DÉTECTER LES VISITEURS EN PROVENANCE DE GOOGLE par elmersaid
EMPÊCHER QUE VOTRE PAGE NE S'AFFICHE PAS DANS UN CADRE (IFRA... par elmersaid
ROLLOVER SUR LES BARRES DE SCROLL par elmersaid
OUTIL DE SÉLECTION par jdmcreator

Commentaires et avis

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.

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

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.

@++

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
@++

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

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
@++

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

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.

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 !

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????

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; ?>';

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....

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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales