2012-10-03 37 views
3

我正在開發產品數據庫,爲我的尺寸創建一個單獨的表PRODUCT_SIZE(id,sizetext)mysql最好的方式來管理產品尺寸

例如, (1,'小'),(2,'大'),(3,'超大'),...

我提供這些尺寸列表爲複選框,當添加產品時,所有可能的尺寸都可以針對當前產品進行選擇。

例如選擇T恤,小號和大號尺碼。

這些2尺碼可用於反對每個新購買的庫存條目。 現在我才知道,可以有不同尺寸的單位,有些物品可以是英寸,一些是千克,一些是米。

我心中有一個改變的溶液: 改變表

PRODUCT_SIZE(id,sizetext, UNitType);

現在它可以是:(1, '5', 'KG'),(2,'10' ,」 KG'),(3,'2.5','英寸'),...

是否有更好的方法,建議?

回答

0

爲什麼不把所有的下拉選項都放在應用程序作用域變量中,而不是爲此創建一個單獨的表?然後,您可以直接將該數據作爲字符串添加到產品中的字段中,並以編程方式處理不同的選項/單位。

+0

尺寸可從管理面板添加/刪除。對於未來的產品,管理員可以輸入與產品相關的尺寸。 –

+0

啊,如果尺寸是動態的,那麼你可能會更好地使用你的方法。 –

2

看起來你正在將「衣服尺寸」,「重量」和「長度」強制爲一個「尺寸」屬性。

嘗試這些表:

product (product_id, name) 
    "Nike t-shirt" 

    attribute_group (attribute_group_id, name) 
    "Shirt size", "Weight", "Length", etc. 

    attribute_value (attribute_value_id, attribute_group_id, name) 
    "Shirt size" would have rows for "Small", "Large", etc. 

    product_attribute (product_id, attribute_value) 
    "Nike t-shirt" is "Large" 

添加 「顯示順序」 來ATTRIBUTE_VALUE,太(所以 「小」,可之前 「大」 顯示)。

對於其他屬性也這樣做。

我已經爲一個生產網站做了這個,我認爲它運作良好。

祝你好運。

0

我做了一個存儲衣服的數據庫,其中的尺寸是幾種類型。一篇文章的尺寸是xs s m l其他是 26 27 28 29 30等等。 我決定這樣做:

# on one side in the script i define size types and names; 
$sizeTypes[1] = [XS, S, M, L]; 
$sizeTypes[2] = [29, 30, 31, 32]; 
#The and so on 
#and on the other side in the database, there are just two columns 

size_type_id(int) | size_qty | 

# so if I have one article with 3 pieces of size S 2 pieces of size M and 5 pieces of size L the database will store: 
size_type_id| size_qty  | 
1   |0:0;1:3;2:2;3:5| 

然後在腳本中,我只是讓1型的0是XS 1型1型的S 2的翻譯呢2是31等

相關問題