Bonjour à tous,
D'un côté, une table "fruits" contenant id1 => pomme, id2 => banane, id3 => mangue...etc...
De l'autre, une table users avec un champ fruits renseigné par un form contenant les id choisis séparés par un espace: 1 3 6 etc...
En mode modif, je souhaite afficher les cases à cocher de tous les fruits (ça, je sais faire), mais que celles qui correspondent au choix de l'user soient checked ...
A force de tâtonnements, voici ce que j'ai fait:
1- je récupère les données du champ fruits de l'user sous forme de tableau
2- Affichage des checkbox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $fruits = explode(" ", $row["fruits"]);
Ben ça affiche bien les checkbox cochées...mais comme dans mon exemple, l'user a choisi 3 fruits...ça affiche 3 fois la liste complète à cause de la boucle for (CQFD !)...mais je sais pas faire autrement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $sql = mysql_query("SELECT id, nom FROM fruits order by id");//lecture tble fruits while($res = mysql_fetch_array($sql)) { for($i=0; $i <count($fruits);$i++) { $sel[$i] = ( $fruits[$i] == "$res[id]" ) ? ' checked="checked"' : ' '; echo "".$res["nom"]."\n\n<input type=\"checkbox\" name=\"fruits[]\" value=\"".$res["id"]."\" ".$sel[$i].">\n | "; } }
Partager