Bonjour,
J'ai récupéré des valeurs d'un formulaire à choix multiples par des cases à cocher (appelées "case"). J'obtiens donc dans ma base une colonne (appelée "les_cases") écrite avec des numéros séparés par une virgule (ex : 1,3,7).
Je voudrais afficher la liste initiale (toutes les "cases") et cocher celles présentes dans la colonne "les_cases".
Voici ma requête pour afficher ma liste de cases :
1 2 3 4 5 6 7
| $requete = mysql_query("SELECT * FROM les_cases");
while ($data = mysql_fetch_assoc($requete))
{
$idcase = $data["id"];
$case = $data["case"];
echo "<INPUT TYPE=checkbox NAME=case[] value='$idcase'>$case ";
} |
C'est là que je coince : comment cocher celles dont l'identifiant (idcase) se retrouve dans la colonne "les_cases" ?
J'ai essayé un if mais sans succès, et aussi un foreach mais il ça me fait une boucle dans la boucle.
Par défaut, j'ai fait 2 requêtes :
$req = mysql_query("SELECT * FROM les_cases WHERE id IN ($les_cases)");
et
$req = mysql_query("SELECT * FROM les_cases WHERE id NOT IN ($les_cases)");
Ça fonctionne mais peut-être y a-t-il une syntaxe plus concise ?
Merci de vos pistes !
Partager