2017-03-10 51 views
2

我做了一個快速檢查,我找不到任何類似於我要問的問題。我希望我能在標題中更具體一些,因爲它似乎是一個已經回答了幾百萬次的問題。動態表單和數據庫模式

我目前具有不知道對於一個web應用程序如下問題的模式如何設置的困境:

我有了用戶的在線表格訂購定製T恤與以下字段:大小,顏色, 口袋。

系統中的每個用戶可以具有不同於第一選項和字段動態生成

實例: 用戶1:尺寸[中小型],顏色[灰色或黑色],掌上[正方形或矩形]

用戶2:尺寸[中或大],顏色[藍或紅],掌上[正方形或三角形]

每個用戶都可以有完全不同的選項和大小,顏色和口袋裏的選項彼此獨立。

這是否可以解決這個問題?

表:

ID | user_id |大小| Size_options |顏色| Color_options |口袋| Pocket_options

我覺得還有更好的辦法可以打破這些更多,並會很高興有選擇的價值領域。

我將使用MySql數據庫。

這只是我的問題的一個小例子,並且有50多個字段需要像這樣交換,但是是文本框,複選框,單選按鈕和選擇下拉列表。

非常感謝您的閱讀和給出的任何建議,我對此長度表示歉意。我想澄清我想解決的問題。

回答

1

你需要的是存儲性能

Properties 
id 
property name 
property description 

單獨的表裝的是什麼一回事呢?像口袋形狀,口袋顏色,球衣顏色,領型等事情

然後,你需要另一臺以上由用戶訂購的服裝的特定項目

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

這可以讓你成爲鏈接完全控制用戶設置或更改的屬性,還可以動態添加新屬性。

+0

謝謝!我不確定我是否完全理解,請原諒我,因爲您提供的文字很好,但我只想確保自己理解正確。 藍色如果是襯衫顏色的話會去哪裏?單單是屬性表中的一行? – likwidmonster

+0

cloth_properties表中會有一個條目,其中的property_id對應於其中的襯衫顏色。屬性值欄會顯示爲藍色(您可能想在此使用實際顏色代碼) – e4c5

+0

謝謝!最後一個問題。這種形式將有大約50個動態字段,並不意味着會有(50 *個用戶)條目?這是浪費還是太多? – likwidmonster