Bonjour (ou re pour certains ),
j'ai encore un problème, sur des listes déroulantes à choix multiples.
J'affiche plusieurs listes déroulantes à choix multiple contenant chacune la liste des sociétés enregistrées dans ma base de données.
Exemple d'une liste :
Ceci génère le code HTML suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 echo '<select multiple="multiple" name="'.$idcat.'.2[]" size="3">'; $reqsoc = mysql_query("SELECT nom_societe,id_societe FROM societe WHERE id_societe;"); while($soc = mysql_fetch_array($reqsoc)) { $idsoci = $soc['id_societe']; $nomsoci = $soc['nom_societe']; echo '<option value="'.$idsoci.'">'.$nomsoci.'</option>'; } echo '</select>';
Jusque là, apparemment tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <select size="3" name="46.2[]" multiple="multiple"> <option value="13">Ste1</option> <option value="14">Ste2</option> <option value="37">Ste3</option> </select>
Ensuite quand je soumets mon formulaire pour insérer dans ma base les sociétés sélectionnées dans mes listes, je déclenche en théorie ce code :
Et là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 if(isset($_POST[$min.'.2'])) { if (!empty($_POST[$min.'.2'])) { for($i=0;$i<(sizeof($_POST[$min.'.2']));$i++) { if(isset($_POST[$min.'.2'][$i])) { // Récupération de l'id societe $idsoc = explode('-',$_POST[$min.'.2'][$i]); $reqins = mysql_query("INSERT INTO lien_projet_societe(id_societe,id_projet,id_categorie_societe) VALUES('".$idsoc[0]."','".$pjt."','".$min."');"); } } } // Test pour voir le contenu si c'est vide ou non echo 'post : '.$_POST[$min.'.2'].'<br />'; }
Ma ligne 434 est celle où je fais mon echo 'post : '.$_POST[$min.'.2'].'<br />';.Notice: Undefined index: 46.2 in C:\Program Files\EasyPHP5.3.0\www\extranet\modif_projet.php on line 434
Comme j'ai cette erreur, je n'entre pas dans mon if(isset ...).
Sauf que j'utilise cette méthode ailleurs dans mes pages, de la même manière et ça fonctionne sans aucun problème.
Donc est-ce que vous voyez quelque chose de manquant ou en trop ou ... ?
EDIT : est-ce parce que je dois passer les sociétés choisies à "selected" ? Si oui, comment puis-je faire le test ? (j'ai testé d'ajouter un attribut en javascript mais sans succès)
Partager