Salut et bienvenue !
Perso, j'ai tendance à bien aimer quand c'est tout automatisé, je vais donc te proposer une formule dans cette orientation.
Tu vas avoir besoin de plusieurs tables dans ta BDD.
Voici deux solutions :
- Tu réutilises toujours les mêmes questions et réponses dans tous tes questionnaires
questionnaire (
id, titre)
question (
id, titre)
reponse (
id, titre)
vote (
#id_questionnaire, #id_question, #id_reponse, #id_membre)
- Tu as des questions qui peuvent être identiques ou différentes selon le questionnaire et des réponses qui peuvent différer en fonction de la question
questionnaire (
id, titre)
question (
id, #id_questionnaire , titre)
reponse (id, #id_question, titre)
vote (
#id_reponse, #id_membre)
- Deux autres combinaisons sont possibles, il suffit de mélanger ces deux premières propositions
Dans ton formulaire (généré par PHP), je te propose d'utiliser un tableau à plusieurs dimensions et plusieurs niveaux. Euh, ça peut faire peur comme nom mais, en fait, c'est simple à utiliser...
Voici un exemple :
1 2 3 4 5 6 7 8
| Question 1
<input type="checkbox" name="checkboxes[1][1]"> Réponse A
<input type="checkbox" name="checkboxes[1][2]"> Réponse B
<input type="checkbox" name="checkboxes[1][3]"> Réponse C
Question 2
<input type="checkbox" name="checkboxes[2][4]"> Réponse A
<input type="checkbox" name="checkboxes[2][5]"> Réponse B |
Dans ton PHP, tu récupèreras un tableau sous la forme :
$checkboxes [$id_question] [$id_reponse]
Il ne te reste plus qu'à faire deux boucles foreach imbriquées (une première pour les questions, l'autre -interne- pour les réponses aux questions) afin d'insérer dans la BDD à chaque fois que tu trouves un élément non vide (= un vote)...
Bien entendu, cela suppose de commencer par coder un script d'administration des questionnaires avant de coder le script d'affichage de ces mêmes questionnaires.
Cela peut paraître fastidieux mais c'est cette méthode qui est utilisée pour la quasi totalité des développements en PHP...
Partager