Ich habe EINE lange HTML-Seite, mehrere Sätze von Fragen, die in kleine Abschnitte unterteilt sind (ca. 15 Unterabschnitte auf einer Seite). Die Gesamtzahl der Fragen beträgt ca. 100 Fragen: variiert von Eingabe, Mehrfachauswahl, Kontrollkästchen, Optionsfeldern, Textfeldern, und Datei hochladen. Eine Frage kann viele Antworten enthalten, die entweder aus einer Gruppe von Kontrollkästchen, einer Gruppe von Auswahllisten, einer Gruppe von Mehrfachauswahllisten oder aus allen zu einer Antwort zusammengefasst wurden. Ich dachte, ich würde dieses Datenbankdesign unten verwenden, fand aber in letzter Zeit heraus, dass es doch nicht der gute Ansatz ist.
- Ein Kunde konnte nur einen Fragensatz haben: Ein Kunde pro 100 Fragen.
- Für den alten Ansatz behalte ich keine Frage in der Datenbank, sondern weise stattdessen eine Konstante in der PHP-Codierung zu. Das Problem ist, dass ich die Frage in PHP vergleichen muss, um sie mit der Antwort in der Datenbank zu synchronisieren. Wenn eine Frage in PHP geändert / gelöscht / verschoben worden wäre, würde ich mich definitiv verirren, um sie mit der Antwort in der Fragebogendatenbank abzugleichen. Bessere Lösung?
- Kann ich mehrere Antworten, die aus mehreren Formularelementen stammen, als eine Antwort in einem Feld speichern? Wie kann ich dieses Feld abrufen und es für die Kundenanzeige im Formular erneut anzeigen?
- Für welche Option unten soll ich mich entscheiden?
OPTION 1: Alter Ansatz (1 Tabelle)
TABELLE: Fragebogen
- ID (PK)
- Kundennummer
- Status
- A1
- A2
- A3
- .
- .
- .
- A100
OPTION 2: Neuer Ansatz (2 Tabellen)
TABELLE: Frage
- QID (PK)
- Frage (varchar)
TABELLE: Antwort
- AID (PK)
- Kundennummer
- QID (int)
- Antwort (varchar)
Oder OPTION 3?