聚合全网技术文章,根据你的阅读喜好进行个性推荐
开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>
CREATE TABLE `df_goods` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; CREATE TABLE `df_attr` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; CREATE TABLE `df_relation_goods_attr` ( `goods_id` int(10) unsigned NOT NULL, `attr_id` int(10) unsigned NOT NULL, `value` varchar(255) NOT NULL DEFAULT '', UNIQUE KEY (`goods_id`, `attr_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO df_goods VALUES(1,'小米MIX标准版'); INSERT INTO df_goods VALUES(2,'小米MIX尊享版'); INSERT INTO df_attr VALUES(1,'内存'); INSERT INTO df_attr VALUES(2,'存储'); INSERT INTO df_relation_goods_attr VALUES(1,1,'4GB'); INSERT INTO df_relation_goods_attr VALUES(1,2,'128GB'); INSERT INTO df_relation_goods_attr VALUES(2,1,'6GB'); INSERT INTO df_relation_goods_attr VALUES(2,2,'256GB'); 获取编号为1的产品具有的属性名和属性值: select df_attr.name, df_relation_goods_attr.value from df_relation_goods_attr join df_goods on df_relation_goods_attr.goods_id = df_goods.id join df_attr on df_relation_goods_attr.attr_id = df_attr.id where df_goods.id = 1 结果: name value 内存 4GB 存储 128GB
订单表里的订单状态这个字段需要设计好,方便程序了解订单进行到哪一步,可以用编号.
商品表里,价格和库存字段可以在这个表里面,但规格也就是商品属性应该分出来,因为不同品种的商品具有一些不同的特性,比如衣服有尺码,而手机有内存大小.
小米MIX是一个SPU(Standard Product Unit).
小米MIX标准版(4GB内存+128GB容量)和小米MIX尊享版(6GB内存+256GB容量)
则是两个不同的SKU(Stock Keeping Unit).
可见不同SKU的价格,规格,库存是不同的,所以不同的SKU应该采用不同的商品编号.
比如神舟的"K610D"这款笔记本,规格有很多.
每种规格都有自己的商品编号/价格/规格/库存:
http://item.jd.com/1603013.html
http://item.jd.com/1939941.html
建表方案:
商品表(商品ID,商品名)
属性表(属性ID,属性名)
商品对应的属性表(商品ID,属性ID,属性值)
cookie设计,会话存储设计, 权限管理设计 等.
还有就是商城要具备实用性,你还得能够接入支付宝和微信支付.
拿支付宝接入来说,支付宝接口只面向企业开放,也就是你得是一家公司,得有营业执照,才能够通过审核.而且支付宝会根据交易额每一笔都收取一定的手续费.
当然你也可以用普通人都可以免费使用的 收款二维码这种方式,但收到转账后需要你自己在后台设置给你转钱的支付宝或微信账号对应的用户充值了,有钱了,然后提示用户下单支付.然后你给用户发货,发货后设置顺丰的运单号,方便用户查看进度. 如果是虚拟产品的话比如软件/插件/主题,直接提供下载即可.