Il serait préférable de stocker les réponses possibles dans une table séparée. Cela vous permet d'avoir n'importe quelle quantité de réponses par question au lieu de seulement 4. Cela permet également aux questions d'avoir un nombre différent de réponses. Si vous avez plus d'un quiz, vous pouvez également utiliser une table de quantification.
Quizes:
id
name
Questions:
id
quiz
prompt
Answers:
id
question
prompt
QuizResult (someone taking a quiz)
id
quiz
// other information about the quiz taker, possibly including the time
Maintenant, la réponse correcte devient beaucoup plus difficile. Je préfère les implémentations plus ici:
Chaque question a une valeur et chaque réponse a une valeur
Un système J'ai récemment travaillé avec vous pouvez attribuer une valeur de point pour chaque question et chaque réponse. Les réponses incorrectes ont souvent obtenu 0, les réponses correctes ont obtenu le montant total. Vous pouvez également avoir des réponses partiellement correctes en utilisant cette méthode. C'est la méthode que j'irais avec.
Vous pouvez aller dire à chaque question vaut 10 points ou vous pouvez attribuer différents poids à différentes questions:
Questions:
id
quiz
prompt
value (you can make this question worth more or less)
Answers:
question
prompt
value (you can make this answer worth more or less)
stocker la bonne réponse dans les réponses Tableau
Un plus simple (mais moins robuste) consiste simplement à dire quelle réponse est correcte dans le tableau Réponses.
Answers:
question
prompt
is_correct
magasin la bonne réponse dans les questions Tableau
Je ne le recommanderais pas. Lorsque vous créez une question, celle-ci n'aura pas de réponse correcte tant que vous n'en aurez pas inséré une. Cela signifie au moins 3 requêtes pour correctement poser une question. Si vous utilisez des dépendances de touches étrangères, cela deviendra rapidement ennuyeux.
+1 Mais pour être clair, il faut marquer la bonne réponse dans une colonne dans la table 'Answers', pas dans la table' QuizResult'. –
+1 pour une bonne réponse, bonne chose. – Rog