2016-06-21 5 views
0

Ich versuche, ein Umfrage-System mit der Fähigkeit zu erstellen, verschiedene Arten von Fragen mit Hilfe eines Drag & Drop HTML-Formular-Generator zu schreiben. Ein Client generiert sein Umfrageformular und der HTML-Body dieses Formulars wird in einer Datenbanktabelle gespeichert. Wenn dieser Klient dieses Formular irgendwo zeigen will, wird er einfach einen Dienst von meinem System anrufen und ich werde ihm dieses Formular zur Verfügung stellen. Andererseits möchte ich auch die Ergebnisse dieses Formulars in einer Tabelle speichern. Aber wie bereits erwähnt, stimmen die generierten Formularfelder und Datenbanktabellen möglicherweise nicht überein.Wie speichert man verschiedene Arten und Anzahl von HTML-Formulardaten in der Datenbank?

Die dümmste (na ja, nicht so praktisch und es macht mich dumm) Lösung, die ich mit der Generierung einer passenden Tabelle für jede Form. Ich denke, es wird auch teuer sein, denn in diesem Fall muss ich 1 mehr haben Tabelle für übereinstimmende Formulartabelle (die HTML-Form von Formulardaten speichert) und automatisch generierte Tabelle (die Daten speichert, die von der Übermittlung dieses HTML-Formulars kommen). Also, welche Art von Design sollte ich implementieren, was schlägst du vor?

Antwort

0

Wenn die Arten von Fragen bekannt und begrenzt sind (Single-Choice, Multiple-Choice, Freitext), würde ich vorschlagen, dass Sie zusätzliche Tabelle erstellen und aktualisieren, wenn Benutzer ein neues Umfrageformular erstellt.

Questions 
- id 
- question_type 
- question_text 
- form_id -- reference to forms table 

Dann können Sie die Ergebnisse in der zweiten Tabelle speichern

Results 
- id 
- question_id -- reference to Questions 
- user_id -- some identification of who submitted that result 
- result -- text or 1/0 or something meaningful for that question type 
+0

Ja, Sie haben Recht. Ich muss Formulare in Fragen aufteilen und Fragen speichern, die sie mit Umfrage und smt wie survey_creater_user_id in Beziehung setzen, um Antworten zu speichern, die sich auf Fragen und die ID der Wähler beziehen. Vielen Dank. –

Verwandte Themen