begin process at 2012 02 12 12:45:08
  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 :29 150

Auteur : McPeter

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
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

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

 Sources de la même categorie

Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip TIMER : SETTIMEOUT & SETINTERVAL AMÉLIORÉS par jdmcreator
Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE par william voirol
Source avec Zip Source avec une capture COPIER DU TEXTE par m22001111
Source avec Zip DIALOGUE ENTRE FENÊTRES MÈRE ET FILLE par william voirol

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']

Commentaire de zogrot le 28/05/2010 16:08:00

Super le truc de renommer le nom du select après les traitements Javascript, ca faisait deux heure que je cherchait une solution...
Merci.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,671 sec (4)

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