Se connecter avec
S'enregistrer | Connectez-vous

Créer un QCM en php

Dernière réponse : dans Programmation

Bonjour à tous !

Je suis en train de mettre en place un jeu concours afin de faire gagner des séjours. Le principe est plutôt simple, les internautes répondent au Quizz, ceux qui ont 19/20 ou 20/20 sont éligibles au tirage au sort !

J'ai environ 50 questions, je souhaite en afficher 20 aléatoirement. Je pense donc à créer une Base de Données dans laquelle je viens chercher les questions.
Je souhaite ensuite afficher les 20 questions, avec pour chaque question les 3 réponses possibles. Ces 3 réponses correspondent à des boutons radios, la bonne réponse ayant l'attribut "Vrai", ce qui me permet ensuite de compter le nombre de bonne réponse.

Ma question : comment créer ma base de donnée afin de pouvoir récupérer mes questions dans ma page, avec les réponses dont une qui porte l'attribut value="Vrai" dans la balise input qui correspond à la réponse ?

Je coince vraiment là, merci de votre aide !

Autres pages sur : creer qcm php

Lassé par la pub ? Créez un compte
Expert Programmation

Bonjour,

id (int)
question (text)
reponse1 (text)
reponse1_valeur (char)(1)
reponse2 (text)
reponse2_valeur (char)(1)
reponse3 (text)
reponse3_valeur (char)(1)

  1. $req = mysql_query ("select * from questionnaire");
  2. while ($rep = mysql_fetch_array($req)) {
  3. echo "
  4. ".$rep['question']."<br /><input type=\"radio\" name=\"".$rep['id']."\" value=\"".$rep['reponse1_valeur']."\">".$rep['reponse1']."
  5. ";
  6. }


J'ai mis qu'une réponse mais c'est le meme principe pour les 2 autres... reste à récuperer la valeur reponse1 ou reponse2 ou reponse3 pour la bonne réponse tu met une valeur 1 et pour une mauvaise tu mets 0 tu additionne ensuite le nombre de réponse et tu auras le résultat ;) 
Expert Programmation

Si je puis me permettre une disgression, je ne ferai pas le QCM de cette manière. Il suffirait d'afficher la source pour connaitre les bonnes réponses.

A une époque j'avais créé un QCM et le système était plus compliqué mais plus protégé:
- une table contenant la question et les différentes réponses
- une table contenant l'id de la question et le numéro de la bonne réponse.
Lorsque l'internaute valide le QCM, le script de traitement compare les numéros de réponse donnés à ce qui est dans la table des bonnes réponse.
Ainsi, la source HTML ne peut donner aucune indication quant à la bonne réponse.

Merci de ta réponse ! Je n'avais pas pensé à ça en effet, cependant c'est un jeu où les réponses sont assez faciles à trouver donc ce n'est pas bien grave si il essai de "tricher". Je vais rester sur la solution 1 qui me semble plus facile à programmer et surtout plus dans mes compétences !

Bonjour,

le jeu concours est bientôt en ligne, je vous le montrerai dès qu'il sera lancé !

Pour les réponses visibles dans le code source, je ne me suis pas pris la tête, mais vu le nombre de personnes qui auront l'idée de tricher, ce n'est pas bien grave, surtout que le but est d'avoir un maximum de gagnants pour ensuite faire un tirage au sort !
Lassé par la pub ? Créez un compte
Tom's guide dans le monde