Aller au contenu

Checkbox et PHP/MySQL


Sujets conseillés

Posté

Bonjour,

Voici mon premier appel au secours sur un forum d'aide,

Je me suis lancé dans la création d'un site internet pour une société. Mon problème, que j'ai gardé pour la fin est le suivant.

J'ai créé une base de données pour récupérer des informations via un questionnaire. Pour des input de text ou de select, je n'ai aucun problème pour récupérer les informations sur une autre page. Mais le problème viens plutôt des Checkbox.

J'ai créé un tableau pour demander les centres d'intérêts des clients. J'ai donc créé des input de type checkbox. Lorsque l'on coche plusieur cases, seul la première est envoyé dans la base de donnée et lorsque je veux les réafficher sur une autre page (intranet gestion des profils client), cela ne fonctionne pas. Mes checkbox ne sont pas cochés sur la page.

Quel code dois-je utilisé ?

Voici le code de la page du questionnaire client :


<table border="0" cellpadding="0" cellspacing="0" summary="" class=formail_ci>
<tr>
<td>Art et Culture</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Art, Culture"></td>
<td>Habillement</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Mode, Habillement"></td>
<td>Sport</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Sport"></td>
</tr>
<tr>
<td>Santé, Beauté, Forme</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Santé,beauté,forme "></td>
<td>Musique</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Musique"></td>
<td>Auto, Moto</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Auto, Moto"></td>
</tr>
<tr>
<td>Informatique, Jeux Video</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Informatique, Jeux Video"></td>
<td>Voyages</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Voyages"></td>
<td>Animaux</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Animaux"></td>
</tr>
<tr>
<td>Sortie (théatre, cinéma...)</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Sorties (Théâtre, Cinéma...)"></td>
<td>Finance</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Finance"></td>
<td>Bricolage</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Bricolage"></td>
</tr>
<tr>
<td width=227>Livres, BD, Journaux</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Livres, BD, Journaux"></td>
<td width=150>Maison Décoration</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Maison, Décoration"></td>
<td width=100>Gastronomie</td>
<td><input type="checkbox" class="checkbox" name="f_interet[]" value="Gastronomie"></td>
</tr>
<tr>
<td>Charme (Parfum, Lingerie...)</td>
<td align=left colspan=5><input type="checkbox" class="checkbox" name="f_interet[]" value="Charme (Parfum, Lingerie...)"></td>
</tr>
</table>


Et voici le code de ma page intranet (fiche client) sur laquelle j'aimerais récupérer les données (checkbox cochées) :


<table border="0" cellpadding="0" cellspacing="0" summary="" class=formail_ci>
<tr>
<td>Art et Culture</td>
<td><input type="checkbox" name="f_interet" value="Art, Culture"></td>
<td>Habillement</td>
<td><input type="checkbox" name="f_interet" value="Mode, Habillement"></td>
<td>Sport</td>
<td><input type="checkbox" name="f_interet" value="Sport"></td>
</tr>
<tr>
<td>Santé, Beauté, Forme</td>
<td><input type="checkbox" name="f_interet" value="Santé,beauté,forme "></td>
<td>Musique</td>
<td><input type="checkbox" name="f_interet" value="Musique"></td>
<td>Auto, Moto</td>
<td><input type="checkbox" name="f_interet" value="Auto, Moto"></td>
</tr>
<tr>
<td>Informatique, Jeux Video</td>
<td><input type="checkbox" name="f_interet" value="Informatique, Jeux Video"></td>
<td>Voyages</td>
<td><input type="checkbox" name="f_interet" value="Voyages"></td>
<td>Animaux</td>
<td><input type="checkbox" name="f_interet" value="Animaux"></td>
</tr>
<tr>
<td>Sortie (théatre, cinéma...)</td>
<td><input type="checkbox" name="f_interet" value="Sorties (Théâtre, Cinéma...)"></td>
<td>Finance</td>
<td><input type="checkbox" name="f_interet" value="Finance"></td>
<td>Bricolage</td>
<td><input type="checkbox" name="f_interet" value="Bricolage"></td>
</tr>
<tr>
<td width=227>Livres, BD, Journaux</td>
<td><input type="checkbox" name="f_interet" value="Livres, BD, Journaux"></td>
<td width=150>Maison Décoration</td>
<td><input type="checkbox" name="f_interet" value="Maison, Décoration"></td>
<td width=100>Gastronomie</td>
<td><input type="checkbox" name="f_interet" value="Gastronomie"></td>
</tr>
<tr>
<td>Charme (Parfum, Lingerie...)</td>
<td align=left colspan=5><input type="checkbox" name="f_interet" value="Charme (Parfum, Lingerie...)"></td>
</tr>
</table>

D'avance merci pour votre aide...

Posté

Bonjour

c'est assez simple, le nom de tes champs doivent effectivement être les même avec des crochets comme tu l'as fais f_interet[]

Pour récupérer de l'autre côté, tu as un tableau

count($f_interet) te dira le nombre d'éléments que tu as dedans et tu les récupères comme un tableau f_interet[][0]

Patrick

Posté

Hello,

Juste une p'tite remarque : en terme d'usabilité, je pense que c'est mieux que ta checkbox apparaisse à gauche du texte qui s'y rattache, comme ceci :

X - Pomme

X - Poire

X - Banane

Dans le code HTML que tu fournis, tes checkboxes apparaissent à droite du texte, comme ceci :

Pomme - X

Poire - X

Banane - X

(En fait, elles sont toutes sur la même ligne, mais tu saisis l'idée.)

Vincent

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...