B2C商城
使用手册
设置模块
模板设置
数据库管理
插件管理
积分管理
小程序直播
第三方账号注册流程
网站模块
商品模块
订单管理模块
供应商模块
数据模块
微商城模块
小程序&APP模块
常见问题
其他
API接口
用户中心接口
商品相关接口
开发手册
开发教程
基础教程
视频教程
TP视频教程
规格表设计原理机制
TPshop的规格表设计原理机制
TPshop商品规格比较简单, 数据库设计清晰, 先看上图购买商品时对应的选择, 不同规格有着不同的价格和不同的库存。
1 2 3 4 5 6 7 | 再看看后台对应的设置,手机例子 颜色:黑色 白色 金色 内存:32G 64G 128G 因为 黑色手机也有 32G 64G 128G , 然后白色手机也有32G 64G 128G 金色手机也有 32G 64G 128G 所以这里是有9种组合 9种价格 9种库存 9种条码 当拿到其中一个条码时就知道这个商品(手机)是什么规格是什么颜色什么内存等。。。。 下面来看看表结构设计 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 如上图可以看出 1. tp_goods_type 表的 id 4 表示手机, 2. tp_spec 表 type_id 里面的 4表是手机 id 16表示颜色 6表示内存 3. tp_spec_item表 spec_id 6表示内存 id 28表示 31G 4. tp_spec_item表 spec_id 16表示颜色 id 55表示 黑色 5. tp_spec_goods_price表的 key字段 28_55 表示32G 黑色 刚好对应 tp_spec_item表 如上图清晰可以理解, 如果不理解多看几遍完全可以简单理解。 以下是创建这四张表的sql 代码。 自己也可以在本地TPshop数据库查看一下 tpshop.tp_goods_type 商品类型表 CREATE TABLE `tp_goods_type` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id自增' , `name` varchar(60) NOT NULL DEFAULT '' COMMENT '类型名称' , PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 tpshop.tp_spec 规格表 CREATE TABLE `tp_spec` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '规格表' , `type_id` int(11) DEFAULT '0' COMMENT '规格类型' , `name` varchar(55) DEFAULT NULL COMMENT '规格名称' , `order` int(11) DEFAULT '50' COMMENT '排序' , `search_index` tinyint(1) DEFAULT '0' COMMENT '是否需要检索' , PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 tpshop.tp_spec_item 规格项表 CREATE TABLE `tp_spec_item` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '规格项id' , `spec_id` int(11) DEFAULT NULL COMMENT '规格id' , `item` varchar(54) DEFAULT NULL COMMENT '规格项' , PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=123 DEFAULT CHARSET=utf8 tpshop.tp_spec_goods_price 规格对应 价格 库存 条码表 CREATE TABLE `tp_spec_goods_price` ( `goods_id` int(11) DEFAULT '0' COMMENT '商品id' , `key` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '规格键名' , `key_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '规格键名中文' , `price` decimal(10,2) DEFAULT NULL COMMENT '价格' , `store_count` int(11) unsigned DEFAULT '10' COMMENT '库存数量' , `bar_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '' COMMENT '商品条形码' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |