2017-03-10 3 views
2

habe ich eine schnelle Überprüfung und ich konnte alle Fragen ähnlich wie die, die ich bin zu fragen, nicht finden. Ich wünschte, ich hätte im Titel etwas konkreter sein können, da es sich um eine Frage handelt, die nur millionenfach beantwortet wurde.dynamische Form und Datenbank-Schema

ich zur Zeit das Dilemma nicht zu wissen, habe, wie die Einrichtung ein Schema für das folgende Problem für einen Web-App:

ich ein Online-Formular habe die Benutzer um benutzerdefinierte T-Shirts mit den folgenden Feldern hat: Größe, Farbe , Tasche.

Jeder Benutzer im System kann von der ersten verschiedene Optionen und die Felder werden

Beispiele dynamisch generiert: Benutzer 1: Größe [Klein oder Medium], Farbe [Grau oder Schwarz], Tasche [Platz oder Rectangle]

Benutzer 2: Größe [Medium oder Large], Farbe [Blau oder Rot], Tasche [Quadrat oder Dreieck]

Jeder Benutzer völlig verschiedene Optionen und die Optionen für die Größe, die Farbe und die Tasche haben kann sind unabhängig voneinander.

Ist dies eine mögliche Lösung für dieses Problem?

Tabelle:

id | Benutzer-ID | Größe | Größenoptionen | Farbe | Farboptionen | Tasche | Pocket_options

Ich fühle es einen besseren Weg, um diese noch mehr zu durchbrechen und wäre schön Feldwert für die Option zu haben.

Ich werde eine MySQL-Datenbank verwenden.

Dies ist nur ein kleines Beispiel für mein Problem und haben Formulare mit 50+ Felder, die alle wie dieser austauschen müssen, aber sind Textfelder, Kontrollkästchen, Optionsfelder und Dropdown-Menüs auswählen.

Vielen Dank für das Lesen und jeden Rat, der gegeben ist und ich für die Länge entschuldigen. Ich wollte Klarheit über das Thema haben, das ich zu lösen versuche.

Antwort

1

Was Sie brauchen, ist separate Tabelle, die Eigenschaften

Properties 
id 
property name 
property description 

Was hier geht speichert? Dinge wie Taschenform, Tasche Farbe, Hemdfarbe, Kragen Typ usw.

Dann benötigen Sie eine andere Tabelle, die oben mit einem bestimmten Kleidungsstück von einem Benutzer bestellt Link

cloth_properties 
user_id (or more likely order id) 
property_id (foreign key properties) 
property_value 

Dies erlaubt Ihnen zu sein Sie haben die volle Kontrolle darüber, welche Eigenschaften vom Benutzer festgelegt oder geändert werden, und Sie können dynamisch neue Eigenschaften hinzufügen.

+0

Danke! Ich bin mir nicht sicher, ob ich das komplett verstehe und bitte verzeih mir, dass das, was du geschrieben hast, gut war, aber ich möchte nur sicher sein, dass ich es richtig verstehe. Wohin würde das Blau gehen, wenn es eine Hemdfarbe wäre? Wäre das nur eine Zeile in der Tabelle Eigenschaften? – likwidmonster

+0

Es gibt einen Eintrag in der Tabelle cloth_properties mit der Eigenschaft property_id, die der Farbe des Shirts entspricht. Die Spalte mit den Eigenschaften würde blau sein (wahrscheinlich möchten Sie die tatsächlichen Farbcodes hier verwenden) – e4c5

+0

Vielen Dank! Eine letzte Frage.Dieses Formular wird ungefähr 50 dynamische Felder haben, und würde das nicht bedeuten, dass es (50 * Anzahl von Benutzern) Einträge geben wird? Ist das verschwenderisch oder zu viel? – likwidmonster

Verwandte Themen