Page 1 sur 1

garder selection d'un liste multiselection

Posté : 21 avr. 2011, 10:59
par logone
Salut,

Je suis en train de bosser sur un formulaire, avant l'insertion des données dans la base je verifie que les identifiants n'existent pas (login ou pass en double) si ils n'existent pas pas de soucis par contre si ils existent je resoumets le formulaire en demandant a l'internaute de changer ces identifiants.
Afin de ne pas perdre tout ce que l'internaute a inserer dans le formulaire je garde les données comme ceci
<input name="log" type="text" class="bleu_petit" id="log" value="<?php echo $_POST['log']; ?>" size="20" />
LE hic c'est lorsque j'ai une liste en multiselection qui ressemble a ceci
                  <?php
				# On recupere la liste

$agrement_liste=mysql_query("SELECT id, name FROM agrement WHERE valide='Y' order by name ASC");

?>
                  <select name="agrement[]" size="5" multiple="multiple" class="bleu_petit" id="agrement[]">
                    <?php
      {
printf("<OPTION SELECTED VALUE=''>--Sélectionnez--</OPTION>");

while($rssag = mysql_fetch_row($agrement_liste))
         {
         printf("<OPTION VALUE='$rssag[0]'>$rssag[1]</OPTION>");
         }
      };
?>
                  </select>
Je voudrais garder la multi selection mais rien n'y fait cela ne fonctionne pas, avez vous une idée du moyen que je pourria utiliser pour garder cette multiselection afin de ne pas la perdre ??

Merci de votre aide.

Re: garder selection d'un liste multiselection

Posté : 21 avr. 2011, 11:08
par popy
<option selected="selected" ...

Re: garder selection d'un liste multiselection

Posté : 21 avr. 2011, 11:20
par logone
Salut,

J'ai testé ceci
$agrement_liste=mysql_query("SELECT id, name FROM agrement WHERE valide='Y' order by name ASC");
while($rssag = mysql_fetch_row($agrement_liste)){
if (in_array($rssag[0], $_POST[agrement])) 
   { 
      echo("<option value='" .$rssag[0]. "' selected>" .$rssag[1]. "</option>"); 
   } 
   else 
   { 
      echo("<option value='" .$rssag[0]. "'>" .$rssag[1]. "</option>"); 
   } 
} 
Mais cela ne fonctionne pas par contre le me demande si la variable $_POST doit etre $_POST[agrement][] ??
Merci de ton aide

Re: garder selection d'un liste multiselection

Posté : 21 avr. 2011, 11:25
par popy
Non, ca devrait etre bon.

A par ça, ca devrait etre $_POST['agrement'], et pas $_POST[agrement]

Re: garder selection d'un liste multiselection

Posté : 21 avr. 2011, 11:51
par logone
En effet ça fonctionne merci pour le coup de main