begin process at 2012 05 27 18:18:51
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaires

 > 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 / 10 - par 4 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaires Niveau :Initié Date de création :24/03/2003 Date de mise à jour :24/09/2004 13:05:57 Vu :81 572

Auteur : McPeter

Ecrire un message privé
Site perso
Commentaire sur cette source (33)
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:05:59 :
Mise à jour du code

 Sources du même auteur

INTERDIRE UN PAYS DANS VOTRE SITE
CACHER LES VARIABLES CONTENNUES DANS UNE URL
LISTER LE CONTENU D'UN DOSSIER ET AFFICHER LES FICHIERS VOUL...
GÉNÉRATEUR COULEUR HEXADÉCIMAL EN LIGNE
Source avec Zip Source avec une capture MYMINI PHP ADMIN POUR MINIDB SANS MYSQL

 Sources de la même categorie

Source avec Zip Source avec une capture VALIDATEUR DE FORMULAIRE par Reldan
Source avec Zip SUIVI SERVICE CLIENT PHP par hige52
Source avec Zip POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM par mtrix000
Source avec Zip Source avec une capture SELECTEUR DE NOTE par Reldan
Source avec Zip Source avec une capture ESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQL par sartoz

Commentaires et avis

Commentaire de jeca le 24/03/2003 08:48:52

Bonjour,

Quelques rectifications sur la copie:

&lt;&lt;l'astuce du "mon_id[]" plante en JavaScript &gt;&gt; =&gt; FAUX, cela fonctionne
&lt;&lt;onClick="javascript:PostSelect('Liste1')"&gt;&gt; =&gt; syntaxe incorrecte :
&lt;&lt;onClick="PostSelect('Liste1')"&gt;&gt; =&gt; syntaxe correcte.

Ci-dessous, lescript revu en fonction de ce qui précède :

&lt;?php
// Traitement après post et affichage des valeurs du champ select
if (isset($HTTP_POST_VARS["Col"]))
{
foreach ($HTTP_POST_VARS["Col"] as $cle =&gt; $valeur)
{
echo $valeur . "&lt;br&gt;";
}
}
?&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Recuperer valeur select dans variable php&lt;/title&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;

&lt;script&gt;
function PostSelect(formulaire)
{
var cible = formulaire.elements["Col[]"];

    // On compte le nombre d'item de la liste select
    NbCol = cible.length;
    
    // On lance une boucle pour selectionner tous les items
    for (var a = 0; a &lt; NbCol; a++)
    {
    cible.options[a].selected = "selected";
    }
    
    // On soumet le formulaire
    formulaire.submit();
}
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;form name="Liste1" method="post" action=""&gt;
    &lt;select name="Col[]" size="4" multiple style="width: 150px"&gt;
    &lt;option value="Valeur 1"&gt;Valeur 1&lt;/option&gt;
    &lt;option value="Valeur 2"&gt;Valeur 2&lt;/option&gt;
    &lt;option value="Valeur 3"&gt;Valeur 3&lt;/option&gt;
    &lt;option value="Valeur 4"&gt;Valeur 4&lt;/option&gt;
    &lt;option value="Valeur 5"&gt;Valeur 5&lt;/option&gt;
    &lt;/select&gt;&lt;br&gt;&lt;br&gt;
    &lt;input name="Envoyer" type="button" value="Envoyer" onClick="PostSelect(this.form)"&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;


Commentaire de McPeter le 24/03/2003 12:46:00

oki .
merci pour les corrections sympa de ta part (encore un commentaire constructif ;o) )
petit détails ta syntaxe est plus rapide effectivement, mais je touve qu'une partit de la mienne simplifie l'usage ??
pour l'ID =&gt; en le renommant juste avant le traitement de submit(), on peut garder des noms d'élements utilisable directement.. plus simple que de stypuler à chaque fois "...elements['idAvec[]'].."
tu crois pas ?
mais un grand merci quand même car ça eclaircit pas mal :p


petite question ? pourquoi tu dis que onClick="javascript:commande()" c'est pas correct ??
ça fonctionne parfaitement pourtant ..

@++

Commentaire de jeca le 24/03/2003 13:14:04

parce que c'est un "pléonasme" : onclick est évènement javascript.
Le seul cas où c'est utilisé est le javascript sur un lien : &lt;a href="javascript:fonction()"&gt;&lt;/a&gt;. Donc, cela n'empêche pas le fonctionnement, mais c'est du code superflu.

En ce qui concerne le tableau d'options, je n'ai ajouté qu'une ligne dans ta fonction, mais j'effectue une opération de moins. Personnellement, j'ai pris l'habitude d'utiliser cette méthode. Pour le reste, il faut demander à des pros du javascript ce qu'ils en pensent, ce que j'aimerais savoir aussi.

A+

Commentaire de McPeter le 24/03/2003 14:09:41

:)
thx

Commentaire de ermorel le 21/10/2003 21:44:42

Chez moi,

Dans le 1er script de mcpeter, rien ne s'affiche

Dans le script corrigé de jeca, tout s'affiche :
Valeur 1, Valeur 2, ... Valeur 5 et non pas les valeurs sélectionnées

Pouvez-vous m'éclairer.
Par avance, merci.

ermorel

Commentaire de sdrdis le 21/12/2003 12:11:35

Par ce que dans &lt;option value="Valeur 1"&gt;Valeur 1&lt;/option&gt; il faut modifier la valeur entre guillemets.

Commentaire de Nerdz le 05/06/2004 22:55:39

Chez moi sa marche pas !

Le script rectifier par jeca me retourne toute les valeurs de la liste et celui original ne marche pas du tout ( erreur dans la page )

Commentaire de Nerdz le 05/06/2004 23:04:04

Ah jai trouver ...
Jvois pas pk il y avait une boucle pour selectionner tout les éléments ...

Tk pour ceux qui avait un probleme il suffit d'enlever
    // On lance une boucle pour selectionner tous les items
    for (var a = 0; a &lt; NbCol; a++)
    {
    cible.options[a].selected = "selected";
    }
et sa marche parfaitement :)

Commentaire de pgpp le 27/06/2004 10:53:43

Pour ceux qui voudraient se passer du JavaScript :
Lorsqu'on poste un select multiple du style :
&lt;select name='sel' multiple&gt;
&lt;option&gt;A&lt;option&gt;B&lt;option&gt;C&lt;option&gt;D
&lt;/select&gt;
Mettons qu'on sélectionne les options A, C et D, on aura dans la QUERY_STRING :
"sel=A&sel=C&sel=D"
Donc il suffit d'extraire chacune des valeurs pour les mettre dans un tableau :

  $qs=explode('&',$_SERVER['QUERY_STRING']);
  $i=0;
  while(list(,$sel)=each($qs))
    if(substr($ing,0,5)=='sel=')
      $sel[$i++]=substr($sel,5);

On récupère ainsi un tableau $sel du type :
Array( [0] =&gt; 'A' , [1] =&gt; 'C' , [2] =&gt; 'D' )

Commentaire de fluminis le 11/09/2004 20:28:36

Salut,

Merci pour ta source, vraiment tres utile.

J'etais confronte a un probleme: je devais recuperer le contenu de deux select et en plus je devais faire des traitements en javascript pour y ajouter des donnees...

Donc j'ai un peu modifier ton script pour qu'une unique fonction javascript puisse etre appelee plusieurs fois sur la page pour traiter plusieurs select dans plusieurs formulaires...

Voila ce que ca donne :

<script>
function PostSelect(myForm,mySelName){

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

// On soumet le formulaire
// myForm.submit();
}
</script>

Voila, j'ai commente la derniere ligne pour ne pas envoyer le formulaire. (si plusieurs appels a cette fonction on ne doit pas faire le submit la premiere fois)

Je l'utilise comme suit:
<form name="..." action="..." method="post" onSubmit="PostSelect(this,'select1');PostSelect(this,'select2');return verifForm(this);" >

avec la fonction verifForm qui se charge de faire des traitement et d'envoyer le formulaire...

Voila en esperant que ca puisse servir a quelqu'un.

Commentaire de krevette le 27/12/2004 10:49:54

un truc tout simple pour récupérer les valeurs d'un select multiple

<select multiple name="vin[]">
        <option value="bordeaux">bordeaux</option>
        <option value="beaujolais">beaujolais</option>
        <option value="loire">loire</option>
    </select>

trouver sur nexen.net

http://www.nexen.net/docs/php/annotee/language.variables.external.form.php

ciao @++

Commentaire de runan le 28/12/2004 21:19:55

merci krevette
juste ce qu'il me fallait

Commentaire de fanf2603 le 02/01/2005 00:53:13

cool ça marche

par contre j'aimerais afficher toutes les valeurs de la liste avec juste un truc du type
echo "$valeur";

mais je n'ai que la dernière valeur qui s'affiche !
ou plus simplement le but final est : ou de m'envoyer un mail avec toutes les valeurs du résultat ou bien les insérer dans une table de base de données

Ces deux choses je sais faire quand il s'agit d'une seule variable que ce soit des boutons radio ou un champ de texte, bref, y'a-t-il moyen de rassembler tous ces résultats en une seule variable? ou existe-t-il un autre moyen? MERCI ET BONNE ANNEE !

Commentaire de krevette le 02/01/2005 02:16:27

tu peux récuperer les valeurs comme ca

for($i=0; $i<count($vin); $i++){
      echo $vin[$i].'<br>';
}

si tu utilise cette technique...

<select multiple name="vin[]">
        <option value="bordeaux">bordeaux</option>
        <option value="beaujolais">beaujolais</option>
        <option value="loire">loire</option>
    </select>

krevette
Bonne Année 2005

Commentaire de pgpp le 04/01/2005 16:53:42

Pour conclure cette conversation longue de deux ans, je vous propose une bête solution :

Problème :
name='vin[]' fonctionne avec PHP mais pas avec JS
name='vin' fonctionne avec JS mais pas avec PHP

Solution :
<select multiple name="vin[]" id="vin">

Ainsi autant JS que PHP peut être utilisé !

Bonne continuation à tout le monde !

Commentaire de chouchou59 le 04/02/2005 15:09:55

Bonjour a vous.

Je suis en train de réaliser un planning en php et j'ai le problème de la récupération des données dans mon select multiples.

J'ai repris le code de Mc peter et j'ai l'erreur :
            Warning: Invalid argument supplied for foreach()

Donc j'ai essayer le code de jeca et là je n'ai rien du tt qui s'affiche.

C'est pour ces raisons que je vous demande votre aide.

merci d'avance

Commentaire de vatoo le 18/02/2005 15:33:17

Merci, code très utile.

Effectivement, le script original peut ne pas fonctionner. En effet, il vaut mieux mettre le options[a].selected = "selected", comme l'a mis jeca plutot que options[a].selected=TRUE. Cela semble mieux fonctionner.

Commentaire de chouchou59 le 25/02/2005 17:28:16

Bonjour à tous.
Merci vatoo pour ta reponse, effectivement ca marche mieux mais c'est pas encore ca car là ca me selectionne tous mes éléments même ceux qui ne sont pas sélectionné.

Si quelqu'un peut m'aider ca serait cool.

merci et bon week end a tous

Commentaire de cacoun le 14/06/2005 17:29:27

Bonjour à tous...

Dans la fonction select multiple, est-il possible par exemple de créer un bouton "tout sélectionner".

Si oui, merci de me dire comment on fait, car là je suis obligé de marqué "appuyer sur ctrl pour en sélectionner plusieurs"

merci d'avance

Commentaire de fluminis le 14/06/2005 22:59:28

à mon avis ce que tu veux faire doit etre fait en javascript coté client et non en php cote serveur.
Insere dans ta page html une balise script et tu fais une fonction qui boucle sur tous les elements du select et tu les selectionnes un à un. Tu mets ensuite sur ta page un p'tit lien qui appel la fonction javascript et voila...

Commentaire de mcpierrot le 10/08/2005 18:38:04

Je n ai pas le eu le temps de lire tous les commentaires donc je sais pas si ca a deja été dit mais pour pouvoir récupérer les éléments dans un tableau on met []
exemple:
<select name="ss_projet[]" multiple size="4">
avec ca on le tableau $_REQUEST['ss_projet'][]

si tout ca est encore flou allez voir là :
http://www.phpindex.com/trucsetastuces/trucsetastuces_lire.php3?element=19

Commentaire de mcpierrot le 10/08/2005 18:39:47

autant pour moi j ai mal lu le debut ^^
désolé

Commentaire de evlicorne le 09/03/2006 14:08:18

Bonjour,

Qq mois ont passé depuis la dernière remarque.
En voici une nouvelle.
Comment faire pour traiter une collection de select du type :

$ret.='  <select name="Col1[0]" size="4" multiple style="width: 150px">';
$ret.='    <option value="Valeur 1" selected>Valeur 1</option>';
$ret.='    <option value="Valeur 2" selected>Valeur 2</option>';
$ret.='    <option value="Valeur 3" selected>Valeur 3</option>';
$ret.='    <option value="Valeur 4" selected>Valeur 4</option>';
$ret.='    <option value="Valeur 5" selected>Valeur 5</option>';
$ret.='  </select><br><br>';
$ret.='  <select name="Col1[1]" size="4" multiple style="width: 150px">';
$ret.='    <option value="Valeur 6" selected>Valeur 6</option>';
$ret.='    <option value="Valeur 7" selected>Valeur 7</option>';
$ret.='    <option value="Valeur 8" selected>Valeur 8</option>';
$ret.='    <option value="Valeur 9" selected>Valeur 9</option>';
$ret.='    <option value="Valeur 10" selected>Valeur 10</option>';
$ret.='  </select><br><br>';

Je n'arrive pas a trouver la solution.

Commentaire de krevette le 09/03/2006 14:27:01

je pense qu'il ne faut pas chercher plus loin que ca :

$ret.='  <select name="Col1[0][]" id="Col1[0]" size="4" multiple style="width: 150px">';
$ret.='    <option value="Valeur 1" selected>Valeur 1</option>';
$ret.='    <option value="Valeur 2" selected>Valeur 2</option>';
...
$ret.='  </select><br><br>';
$ret.='  <select name="Col1[1][]" id="Col1[1]" size="4" multiple style="width: 150px">';
$ret.='    <option value="Valeur 6" selected>Valeur 6</option>';
$ret.='    <option value="Valeur 7" selected>Valeur 7</option>';
...
$ret.='  </select><br><br>';

J'ai n'ais pas pris le temps de tester et je ne suis pas sur que le JS fonctionne avec cet id.

Elvicorne,
Je te laisse Tester

Commentaire de evlicorne le 09/03/2006 14:38:38

Ca ne marche pas.

Commentaire de beur81 le 04/05/2006 22:59:10

bonjour a tous
j'ai un probleme je ne sais pas comment faire pour mettre la valeur de ma pk_client dans une variable apres l'avoir recupere
d'une requete ci joint mon code

// la variable noms et prenoms proviennent d'un input
avec le code qui suit je recupere le numéro de la pk mais je sais pas cmt faire pour la mettre dans une variable ex $pk_client

$resultats = mysql_query("SELECT pk_client from client where cli_nom='$noms' and cli_prenom='$prenoms'");
while($pret = mysql_fetch_object($resultats))
{
echo "<center>$pret->pk_client



ca marche";


}

Commentaire de gasmo le 12/05/2006 17:41:23

Bonjour à tous,
j'ai besoin d'aide, je n'en peux plus de tourner en rond sur mon code. J'ai essayé pas mal de choses proposées ici, mais je ne m'en sors pas... Mon problème est les suivant :
_j'ai une page avec deux listes, et je transfert des données d'une liste à l'autre grâce à cette fonction JS :
function transfert(l1,l2)
{
    if (l1.options.selectedIndex>=0)
    {
        texte = l1.options[l1.options.selectedIndex].text;
        valeur = l1.options[l1.options.selectedIndex].value;
o=new Option(texte,valeur);
        l2.options[l2.options.length]=o;
        l1.options[l1.options.selectedIndex]=null;
    }
    else
    {
        alert("Aucun element sélectionné");
    }
}

_une fois que l'utilisateur a fini des transférer les données qu'il veut, je voudrai pouvoir les récupérer pour les insérer dans ma base de données. Ma page ressemble à ca :
<form name="ajout" id="ajout" method="post" onsubmit="return validateForm(this)" action="action/Action_LierMag.php">
... // première liste
... // bouton pour faire le transfert entre les deux listes
<select multiple name="liste2[]" id="liste2" size="8">
</select>

Enfin mon action m'envois dans une page appelée Action_LierMag.php, où je souhaite donc récupérer mes données et les traiter.
Merci d'avance, toutes suggestions peut m'aider.

Commentaire de vincentforce le 10/07/2006 14:50:52

Perso,

J'ai modifié cette fonction pour passer autant de select multiple que l'on souhaite.



Voila le javascript :

function PostSelect(){
        //Arguments passés à la fonction, en l'occurence, l'id des select multiple
var args=PostSelect.arguments;
  
for (i=0; i<(args.length); i++)
{
alert(args[i]);

// On compte le nombre d'item de la liste select
NbCol1 = eval("document.getElementById('"+args[i]+"').length;");

// On lance une boucle pour selectionner tous les items
for(a=0; a<NbCol1; a++){
eval("document.getElementById('"+args[i]+"').options["+a+"].selected = true;");
}
}

// On soumet le formulaire
document.forms.submit();
}



Voila le code HTML :

<form name="Liste1" method="post" action="votrepage.php" onSubmit="PostSelect('multiple1','multiple2')">
   <select name="multiple1" id="multiple1" multiple>
     <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>
   <select name="multiple2" id="multiple1" multiple>
     <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>



Et en PHP (sur votrepage.php), il suffit de faire :

<?php
   print_r($_POST["multiple1"]);
   print_r($_POST["multiple2"]);
?>

Commentaire de McPeter le 30/03/2007 22:17:46

Salut
en Gros
<?php
$list = array( 'option_1', 'option_2', 'option_3', 'option_4', 'option_' );
$mySelect = '';

foreach( $list as $option )
{
  if( $_POST[ 'mySelect' ] == $out ) $select = ' selected="selected"' else '';

  $mySelect .= '<option' . $select . '>' . $option . '</option>';
}
?>
<select id="mySelect" name="mySelect">
  <?php echo $mySelect; ?>
</select>

@++

Commentaire de Pollux84 le 21/06/2007 16:55:42

c'est crado tous sa (comme le php dailleur ...) pourquoi ne pas update la source initiale afin que les utilisateurs puisse avoir un code qui marche sans lire les tas de commentaires tous craceux blindés de < > et autre caractère bizard qui ne passe pas ?

Commentaire de rt15 le 18/07/2007 09:45:32 administrateur CS

Heu bah je plussois Pollux84.

C'est un coup à s'enm***** avec la solution du source alors que celle de KREVETTE avec améliration de PGPP marche très bien.

Ce serait très sympa de faire la mise à jour McPeter, d'autant qu'on tombe dessus facilement via Google.

Commentaire de McPeter le 04/08/2011 21:40:51

Heu déjà Pollux84 si tu trouves le php si "crade" je comprends pas pourquoi tu commentes ici .. (surtout quand tu n'as aucunes contributions de sources :\)

Ensuite RT15 le code marche parfaitement ... je pige pas où est le soucis là ?!
Le cade fait précisément ce que le titre annonce ... rien de plus ni de moins
Le script de KREVETTE ne récupère _que_ les valeurs "sélectionnées" ... et non "toute la liste"

Commentaire de rt15 le 07/08/2011 12:35:26 administrateur CS

Ah oui, je n'avais pas vu la nuance (Toutes les valeurs plutôt que toutes les valeurs sélectionnées).
En fait, dans la plupart des cas, on connaît toutes les valeurs possibles côté serveur (Au moment de la construction du select). Ce que l'on ne sait pas, c'est ce que l'utilisateur va sélectionner parmi celle-ci. Mais bien sûr, il existe des cas où on veut toutes les valeurs.

La solution de KREVETTE m'a paru plus simple (Plus courte, uniquement PHP et HTML...) donc plus intéressante et moins risqué. Cependant elle ne résout pas le même problème. Mais par exemple, tu aurais pu t'inspirer du commentaire de PGPP pour te débarrasser de la ligne de renommage ->
document.forms[liste].elements.Col1.name = "Col1[]";

Donc j'ai commenté un peu vite et je m'en excuse.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,109 sec (3)

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