有一个JSP+STRUTS的电子商务的项目。
但遇到个问题:
当卖家上传商品时,不同的商品有不同的属性,如:手机(铃声,屏幕颜色,有无摄相头。。),
运动鞋(尺码,颜色)。这些属性如何存储在数据库中,如何建表?一个网站有几百种商品,难道要建几百张表?,还是把所商品的属性都放在一张表里,那表的字段也太长了吧。
比如:手机(铃声:60和铉,屏幕颜色:黑色,有无摄相头:有)
运动鞋(尺码:42,颜色:白色)那数据库的表是不是应该这样建:商品ID 商品名 铃声 屏幕颜色 有无摄象头 尺码
001 手机 60和铉 黑色 有 NULL
002 运动鞋 NULL 白色 NULL 42
问题二:
根据上传的商品种类,如何动态的生成不同商品的上传表单?根据商品属性来动态的生成表单就是:
类似掏宝网一样,当卖家上传商品时,页面会让卖家先选择上传什么类型的商品,如果选择“手机”,则接下来的表单会有“屏幕颜色”,“有无摄象头”,“铃声”属性需要卖家填写,如果上传“运动鞋”,会有“尺码”,“颜色”属性需要卖家填写。
如果商品种类少还好,但几百种商品,有N种属性,不知道如何生成。请多指教。
但遇到个问题:
当卖家上传商品时,不同的商品有不同的属性,如:手机(铃声,屏幕颜色,有无摄相头。。),
运动鞋(尺码,颜色)。这些属性如何存储在数据库中,如何建表?一个网站有几百种商品,难道要建几百张表?,还是把所商品的属性都放在一张表里,那表的字段也太长了吧。
比如:手机(铃声:60和铉,屏幕颜色:黑色,有无摄相头:有)
运动鞋(尺码:42,颜色:白色)那数据库的表是不是应该这样建:商品ID 商品名 铃声 屏幕颜色 有无摄象头 尺码
001 手机 60和铉 黑色 有 NULL
002 运动鞋 NULL 白色 NULL 42
问题二:
根据上传的商品种类,如何动态的生成不同商品的上传表单?根据商品属性来动态的生成表单就是:
类似掏宝网一样,当卖家上传商品时,页面会让卖家先选择上传什么类型的商品,如果选择“手机”,则接下来的表单会有“屏幕颜色”,“有无摄象头”,“铃声”属性需要卖家填写,如果上传“运动鞋”,会有“尺码”,“颜色”属性需要卖家填写。
如果商品种类少还好,但几百种商品,有N种属性,不知道如何生成。请多指教。
你可以建3个表(表1和表2也可以合成一个表)
表1(商品类型表):
id(自增) name
1 手机
2 运动鞋表2(商品属性表):
id(自增) 商品ID 商品属性
1 1 铃声
2 1 屏幕颜色表3(商品表):
id(自增) 商品名 所属类型 商品属性值(将属性的值根据表2中的属性按顺序写入)
1 诺基亚手机 1 60和铉,黑色,...
2 耐克运动鞋 2 *,*,*,.....问题二:
直接根据商品类型从表2中取出商品属性就行了。
如果是个小型的交易平台 没必要搞那么复杂
每款商品的属性 可以定义在表单里
让电子商务管理员自己添加商品的一些基本属性即可商品ID 商品名 铃声 屏幕颜色 有无摄象头 尺码
001 手机 60和铉 黑色 有 NULL
002 运动鞋 NULL 白色 NULL 42你这多麻烦啊?
手机类→品牌→型号→产品属性(一个大表单什么像素啊和铉啊颜色啊价钱啊)
产品属性让管理员自己写.
商品类别表
类别id 类别名称 父类id
类别属性表
类别id 属性id 属性名称
属性值表
类别id 属性id 属性值
商品表
商品id 大类id 小类id 图像 属性值
属性值只存放对应商品属性的值 不同属性间用分隔符| 同属性多值用,分隔
这样还可以满足自定义属性
表二:product (商品) id(自增) , sub_id , 名字, 备注, ....
表三:Attribute(商品属性) id(自增) , prod_id , 名字, 备注, ....
这样应该能适应你的要求了