2017-03-10 86 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