Select multiple selected après submit

Résolu/Fermé
Sunseeker - Modifié par Sunseeker le 27/06/2014 à 13:24
 Sunseeker - 27 juin 2014 à 17:34
Bonjour à tous, et bonjour le père si tu passes par là et décides de m'aider encore :)

Bon, Comment une fois mon select multiple posté, garder les valeurs sélectionnées dans le select en question? (pour que le visiteur puisse ensuite trier les résultats à selon ses besoins).
Merci.
Pour le moment j'ai ça, mais mes options ne restent pas selected une fois le form posté.
Je ne sais pas du tout comment procéder, après des heures de tests ratés parce que je ne sais pas comment faire, je reste bloquée malgré l'acharnement....

d'autant plus que mon traitement en php qui affiche les résultats de mes requêtes se trouve en dessous de mon formulaire: Form à gauche, résultats de mes requêtes à droite.

<?php
$_POST['rooms']=array();
 $rooms=$_POST['rooms']; 
 $selected='selected="selected"';
 ?>

    <label for="pieces"  class="tag">Pièces *</label>
    <select multiple="multiple"  name="rooms[]"  class="select" >
    <option value="" >---</option>
    <option value="1"  <?php if(in_array('1',$rooms)) echo $selected; ?> >Studio</option>
    <option value="2"  <?php if(in_array('2',$rooms)) echo $selected; ?> >2 pièces</option>
    <option value="3"  <?php if(in_array('3',$rooms)) echo $selected; ?> >3 pièces</option>
    <option value="4"  <?php if(in_array('4',$rooms)) echo $selected; ?> >4 pièces</option>
    <option value="5"  <?php if(in_array('5',$rooms)) echo $selected; ?> >5 pièces</option>
    <option value="6"  <?php if(in_array('6',$rooms)) echo $selected; ?> >6 pièces</option>
    <option value="7"  <?php if(in_array('7',$rooms)) echo $selected; ?> >7 pièces et +</option>



Merci mille fois d'avance, pour votre aide et enthousiasme :)

2 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
27 juin 2014 à 14:45
Salut,

Si $_POST['rooms']=array();
Et si $rooms=$_POST['rooms'];

Alors $rooms = array() => $rooms est un tableau vide dans tous les cas

Essaie plutôt ceci à la place des deux lignes citées :
<?php
$rooms = isset($_POST['rooms']) ? $_POST['rooms'] : array() ;

1
Euh je peux te dire quelque chose ???

MERCIIIIIIIIII
0