J'ai UNE longue page html, plusieurs séries de questions divisées en petites sections (environ 15 sous-sections sur une page), le total des questions est d'environ 100 questions: varie selon la saisie, choix multiple, cases à cocher, boutons radio, zone de texte, et le téléchargement de fichiers. Une question peut contenir de nombreuses réponses obtenues à partir d'un groupe de cases à cocher, d'un groupe de listes de sélection, d'un groupe de sélections multiples, ou de toutes combinées en une seule réponse. J'ai pensé utiliser cette conception de base de données ci-dessous, mais j'ai découvert récemment que ce n'était pas la bonne approche après tout.
- Un client ne peut avoir qu'une seule série de questions: un client pour 100 questions.
- Pour l'ancienne approche, je ne garde pas la question dans la base de données, mais je l'assigne comme constante dans le codage PHP à la place. Le problème est que je dois comparer la question en PHP pour la synchroniser avec la réponse dans la base de données. Si une question avait été modifiée / supprimée / déplacée de PHP, je me perdrais définitivement pour la faire correspondre avec la réponse dans la base de données du questionnaire. Une meilleure solution?
- Puis-je être en mesure de conserver plusieurs réponses obtenues à partir de plusieurs éléments sous forme dans un seul champ comme une seule réponse? Comment puis-je récupérer ce champ et l'afficher à nouveau pour que le client puisse le visualiser sur le formulaire?
- Quelle option ci-dessous dois-je choisir?
OPTION 1: Ancienne approche (1 tableau)
TABLEAU: Questionnaire
- ID (PK)
- N ° de client
- Statut
- A1
- A2
- A3
- .
- .
- .
- A100
OPTION 2: Nouvelle approche (2 tableaux)
TABLE: Question
- QID (PK)
- Question (varchar)
TABLE: Réponse
- AID (PK)
- N ° de client
- QID (int)
- Réponse (varchar)
Ou OPTION 3?