Probleme de select a choix multiples

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme de select a choix multiples

par JMM » 19 sept. 2008, 09:48

merci c'etait bien ça -qd tu laisses le size a 1 , il n'affiche pas l'ascenseur .
(Mais je ne sais pas pourquoi ...)
jm

par guilt92 » 16 sept. 2008, 13:45

Bonjour,

Ton problème se situe ici :

Code : Tout sélectionner

<select size="1" name="objectifs[]" multiple id="objectifs">
Le "size=1" veut dire qu'il n'affiche qu'un élément, même si tu peux faire dérouler la liste je pense que ca n'est pas la meilleure option pour une liste à choix multiple. Je te conseille de l enlever ou au moins de mettre + que 1...

Aussi la syntaxe correcte il me semble est multiple="multiple" et non pas multiple tout court.

Code : Tout sélectionner

<select name="objectifs[]" multiple="multiple" id="objectifs">
marche mieux ?

et pourquoi pas moi ?

par JMM » 16 sept. 2008, 12:27

Salut

Tout nouveau sur la liste..
J'ai exactement la meme syntaxe que toi sur le premier msg posté...mais chez moi ça foire.
Des que j'enleve le "multiple" j'ai bien la liste de mes options, je le remets .. et plus rien-
Va comprendre Charles ;-) - Le code ci dessous.
 <td style="text-align:center;padding-right:8px;">Lister TOUS Les objectifs </td>
  
      <?php $askdb = mysql_query("SELECT * FROM phrases_obj ORDER BY obj_theme ");?>
      <td><select size="1" name="objectifs[]" multiple id="objectifs">
          		    <option value="0">Select</option>
                  <?php while($repdb= mysql_fetch_array($askdb))
                  {
                  echo '<option value="'.$repdb[0].'">'.$repdb[1].'</option>';
                  }
                  ?>
                  </select>

par ed_013 » 07 août 2008, 18:24

C'est bon, ca marche, merci beaucoup !!!

par steph29 » 07 août 2008, 18:01

premiere erreur:
$theme[$i] == $row[0]
/*au lieu de:*/
$theme[$i] = $row[0]
et ta boucle for ne sert a rien...

regarde du cote de in_array() ;)

par ed_013 » 07 août 2008, 17:57

Ok ok, mais j'ai un peu du mal a le mettre en code, pour l'instant, j'ai ca :

Code : Tout sélectionner

<?php include 'connect.php'; $theme = explode(", ", $row_general[15]); $nb = sizeof($theme); $sql_theme = " SELECT theme FROM themes order by theme asc "; $result_theme = mysql_query($sql_theme) or die("Requete pas comprise"); echo "Theme : <select name='theme[]' size='4' multiple>"; while ($row=mysql_fetch_array($result_theme)) { for ($i = 0; $i<$nb; $i++) { if ($theme[$i] = $row[0]) { echo"<option selected='selected'>$row[0]</option>"; } else { echo"<option>$row[0]</option>"; } } } echo"</select>"; echo "<br>"; echo "Defaut : $row_general[15]"; ?>
Et ca me crée une liste ou tout est select par defaut et ou chaque theme de la base de donnée est repeté autant de fois que le nombre d'items choisi

par steph29 » 07 août 2008, 17:31

la solution est de recuperer les valeurs de l'array de la personne et verifier pour chaque option si la personne a cette option. si oui un <option selected="selected"> le selectionnera par defaut

Probleme de select a choix multiples

par ed_013 » 07 août 2008, 16:56

Re Bonjour,

Voila mon probleme :

Dans un formulaire de création de personne pour un annuaire, j'ai crée plusieurs champs de select a choix multiples.
Les items de ces select sont stockés dans des bases de données, et le select se "genere" en fonction de ces elements grace à ce bout de code

Code : Tout sélectionner

<?php include 'connect.php'; $sql = " SELECT nom_activite FROM activite order by nom_activite asc "; $result = mysql_query($sql) or die("Requete pas comprise"); echo "Activité : <select name='activite[]' size='4' multiple>"; while ($row=mysql_fetch_array($result)) { echo"<option>$row[0]</option>"; } echo"</select>"; ?>
Jusque la, pas de probleme, la generation et la selection mutliple marchent tres bien, les données sont stockées dans la base de données contact sous forme de array.

Vient le moment ou je dois crée le formulaire de modification de ces personnes, j'aimerais donc recuperer les items choisis et stockées dans le array et arrivé a les fixer en defaut dans le select mutliples.
En gros, j'aimerais que quand on arrive sur le formulaire de modification, et que des items ont ete sélectionnés à la création de la personne (array non vide), ces items soit selectionné par defaut dans la liste

Pour l'instant, je suis obligé d'afficher le contenu du array sous le select multiple, ce qui oblige l'utilisateur à reselectionner lui meme tous les items precedement renseignés, plus les nouveaux, ce qui engendre un risque de perdre l'information si il oublie cette etape.

Voyez vous une solution ?

Merci d'avance

Ed