Page 1 sur 1

Aide Questionnaire Php

Posté : 12 févr. 2014, 15:16
par flomul
Bonjour à tous

Je vous explique mon problème, j'ai pour objectif de créer un questionnaire comprenant 10 questions, ce questionnaire se pose sous la forme d'un QCM, chaque question a une ou plusieurs réponses possibles.
J'ai une base de donnés ou il y a mes questions et mes réponses, celle-ci est construite de la manière suivante :


question ( question_id, question_nom, question_type )
reponse ( reponse_id, reponse_nom, reponse_juste, #question_id )

-

*clé primaire

question_type est une variable permettant de définir le type de mon input "radio" ou "checkbox" permettant une seul ou plusieurs réponses possible parmi le choix de réponse.

reponse_juste est une "variable" booléenne prenant 0 ou 1 me permettant de définir la bonne réponse, les bonnes réponses ayant pour value 1 et les mauvaises 0.

-

Dans ma page "questionnaire", je génère mes questions et les réponses associées dans un formulaire grâce à de deux boucles imbriquées, jusqu'ici, toujours pas de problème.

J'obtient un formulaire du même type que celui-ci :

Question 1 type checkbox :
<div class="bloc_question_reponse">
 
        <p class="question">Qu'elle est la couleur du cheval blanc d'henri IV ?</p>
 
          <div class="bloc_reponse">
 
                        <div class="reponse"> <!-- Rouge -->
 
              <input type="checkbox" name="question1reponseRouge" value="0">
 
              <label for="question1reponseRouge">Rouge</label>
 
              </div>
 
                          <div class="reponse"> <!-- Blanc -->
 
              <input type="checkbox" name="question1reponseBlanc" value="1">
 
              <label for="question1reponseBlanc">Blanc</label>
 
              </div>
 
                          <div class="reponse"> <!-- Gris -->
 
              <input type="checkbox" name="question1reponseGris" value="0">
 
              <label for="question1reponseGris">Gris</label>
 
              </div>
 
                          <div class="reponse"> <!-- Bleu -->
 
              <input type="checkbox" name="question1reponseBleu" value="0">
 
              <label for="question1reponseBleu">Bleu</label>
 
              </div>
 
                      </div> <!-- fin .reponse -->
 
      </div>
Question 2 type radio :
<div class="bloc_question_reponse">
 
        <p class="question">La poussière de diamant est noir.</p>
 
          <div class="bloc_reponse">
 
                        <div class="reponse">
 
              <input type="radio" name="question2" value="1">         
 
              <label for="question2reponseVrai">Vrai</label>
 
              </div>
 
                          <div class="reponse">
 
              <input type="radio" name="question2" value="0">         
 
              <label for="question2reponseFaux">Faux</label>
 
              </div>
 
                      </div> <!-- fin .reponse -->
 
      </div>
Et maintenant voici mon problème, je n'arrive pas a récupérer mes questions et réponses sous forme de tableaux uniques.
Je m'explique, j'aimerais que pour chaque question, je puisse avoir un tableau contenant la question et les ou la réponse cochés afin que je puisse vérifier si leur value est égale a 0 ou 1 pour savoir si les réponses cochés sont justes ou fausses et ainsi par la suite pouvoir compter le nombre de bonne et mauvaises réponses afin de donner une "note" sur le questionnaire.

J'espère ne pas avoir été trop confus, j'attends vos réponses avec impatience.

Cordialement

Re: Aide Questionnaire Php

Posté : 12 févr. 2014, 22:36
par moogli
salut,

si j'ai bien compris ce qu'il te faut c'est récupérer les réponses bonnes pour savoir si elles ont ou pas étaient indiquée ?

Le principe est simple il faut que tu indiques l'id de la question dans le formulaire (champs caché).
Tu passe l'id des réponses dans les champs (value des radio ou input).
quand tu valide le formulaire un simple select pour récupérer les id des réponses bonnes pour cette question.

select reponse_id from reponse where reponse_juste=1 and question_id=xxx où xxx est l'id de la question récupéré depuis le formulaire.

Ensuite tu compare avec les id qui viennent du formulaire.

si tu utilise la notation tableau pour les checkbox tu pourras boucler ou utiliser les fonctions de tableau (par exemple in_array).

@+

Re: Aide Questionnaire Php

Posté : 13 févr. 2014, 12:47
par sirakawa
Question assez fréquente, car visiblement c'est un exo fréquemment (et stupidement vu son inutilité) donné
Une recherche dans PHPfrance sur:
questionnaire qcm
(un de ces termes
donne des informations utilses