salutatous,

j'ai un FORMULAIRE DE SAISIE contenant (entre autres) une LISTE À CHOIX MULTIPLES.

Voici le code :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<form action="<?php echo basename(__FILE__); ?>" enctype="multipart/form-data" method="post">
 
<?php
 
// options de la liste à choix multiples définies dans un tableau
$choix = array(
    "choix 1",
    "choix 2",
    "choix 3"
);
 
// fonction permettant le ré-affichage "highlighté" des options sélectionnées par le visiteur (au cas où le visiteur remplit mal le formulaire)
function selection($option) {
    for ($i = 0, $comptabilisation = count($_POST['liste_choix_multiples']); $i < $comptabilisation; $i++) {
        if ($_POST['liste_choix_multiples'][$i] == $option) {
            return TRUE;
        }
    }
    return FALSE;
}
 
?>
 
<select name="liste_choix_multiples[]" size="12" style="background-color:#FFFFFF" multiple>
    <?php
    foreach ($choix as $valeur) {
        if (isset($_POST['liste_choix_multiples']) && selection($valeur)) {
            echo '<option selected>' . $valeur . '</option>';
        } else {
            echo '<option>' . $valeur . '</option>';
 
        }
    }
    ?>
</select>
 
<input type="submit" value="OK"/>
 
</form>
Jusque-là tout fonctionne parfaitement dans mon FORMULAIRE DE SAISIE :
Les choix de la liste se ré-affichent "highlighté" si le formulaire se ré-affiche pour cause de mauvaise saisie dans un champ.
Et si tout est ok les données sont bien envoyées dans la base de données.

----------------------------------------------

LÀ OÙ JE BLOQUE, c'est sur mon FORMULAIRE DE MODIFICATION des informations !
J'ai repris ce code et essayer de le modifier.
Mais je n'arrive pas à afficher la liste à choix multiples avec les choix en "highlighté" qui ont été sélectionnés par le visiteur !!!


Merci de votre aide
Nico