par
mairo » 14 févr. 2012, 10:51
bon grâce à tes précieux conseils je progresse... il me réaffiche les éléments, ce qui est déjà une bonne chose mais sur une seule ligne ce qui me semble normal vu que j'utilise le code qui se trouve que dans un seul <option> (comme dis, au départ mon select n'a pas d'option, elles sont ajoutées au fur et à mesure des choix de l'utilisateur avant le select multiple et ceci via une fonction javascript).
Mon select ressemble à ça :
<select tabindex="41" name="Col1" id="Col1" size="14" multiple style="width: 550px" >
<option> <?php echo $_SESSION['panier']; ?> </option>
</select>
et le traitement (submit) se fait :
// 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>";
$_SESSION['panier'] = $_SESSION['panier']."<br>".$selectValue ;
}
}
Les valeurs renvoyées sont "imprimées" juste sur une page blanche lorsque se fait le submit, à savoir une valeur par ligne mais comment rapatrier ça dans le select également par ligne et non tout sur la même ligne. Aurais-tu une idée ? il faut qu'il rapatrie le tableau entier avec les éléments choisis par l'utilisateur.
J'ai également essayé de déclarer directement en tableau via "Col1[]" mais cela ne change rien.
J'ai essayé aussi l'explode mais il y a un truc que je ne comprends pas, que dois-je mettre dans "ta_valeur" étant donné que je n'ai pas d'option ???
<option value="ta_valeur" <?php if (in_array("ta_valeur", $tableau)){echo "selected";}?> > blabla </option>
Si je mets rien dans value donc "" et même chose après in_array, il sélectionne la ligne vide... évidemment...
bon grâce à tes précieux conseils je progresse... il me réaffiche les éléments, ce qui est déjà une bonne chose mais sur une seule ligne ce qui me semble normal vu que j'utilise le code qui se trouve que dans un seul <option> (comme dis, au départ mon select n'a pas d'option, elles sont ajoutées au fur et à mesure des choix de l'utilisateur avant le select multiple et ceci via une fonction javascript).
Mon select ressemble à ça :
<select tabindex="41" name="Col1" id="Col1" size="14" multiple style="width: 550px" >
<option> <?php echo $_SESSION['panier']; ?> </option>
</select>
et le traitement (submit) se fait :
// 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>";
$_SESSION['panier'] = $_SESSION['panier']."<br>".$selectValue ;
}
}
Les valeurs renvoyées sont "imprimées" juste sur une page blanche lorsque se fait le submit, à savoir une valeur par ligne mais comment rapatrier ça dans le select également par ligne et non tout sur la même ligne. Aurais-tu une idée ? il faut qu'il rapatrie le tableau entier avec les éléments choisis par l'utilisateur.
J'ai également essayé de déclarer directement en tableau via "Col1[]" mais cela ne change rien.
J'ai essayé aussi l'explode mais il y a un truc que je ne comprends pas, que dois-je mettre dans "ta_valeur" étant donné que je n'ai pas d'option ???
<option value="ta_valeur" <?php if (in_array("ta_valeur", $tableau)){echo "selected";}?> > blabla </option>
Si je mets rien dans value donc "" et même chose après in_array, il sélectionne la ligne vide... évidemment...