sku 全称为:Stock Keeping Unit,是库存进出计量的基本单元。

我们一般会在电商网站基本都会看到

比如淘宝,JD

淘宝和JD的 方式可能不一样,因为我不清楚他们具体是如何设计的, JD是不同的数据都设计成一个商品.

下面是我的设计思路

mysql 设计,3张表

sku属性表: (编号, 名称)

(1, 颜色)

(2 ,尺码)

sku属性值表: (编号, 属性表键值 ,属性编码, 属性值)

(1, 1 ,1, 黑色)

(2, 1 ,2, 白色)

(3, 2 ,1, S)

(4, 2 ,2, L)

sku表: (编号, 商品编号,属性组合规格 ,价格,数量, 库存,.. (可以自定义运费等) )

(1, 1 ,1|3, 100,1)   //黑色  S

(1, 1 ,2|3, 90,1)   //白色  S

有多少中组合一次全部添加进去,前台取的时候 直接根据取sku表 商品编号 查询出所有的组合

穿一个自己的demo 效果图

不清楚具体设计的好不好,如果不好请谅解 /(ㄒoㄒ)/~~

附带送上 根据属性获取商品的所有sku属性的组合的方法

/**
* 获取属性的所有组合
* @author GstYon <453885726@qq.com>
*/
private function getArrSet($arrs,$_current_index=-1){ //总数组
static $_total_arr;
//总数组下标计数
static $_total_arr_index;
//输入的数组长度
static $_total_count;
//临时拼凑数组
static $_temp_arr; //进入输入数组的第一层,清空静态数组,并初始化输入数组长度
if($_current_index<0)
{
$_total_arr=array();
$_total_arr_index=0;
$_temp_arr=array();
$_total_count=count($arrs)-1; $this->getArrSet($arrs,0);
}
else
{
//循环第$_current_index层数组
foreach($arrs[$_current_index] as $v)
{ //如果当前的循环的数组少于输入数组长度
if($_current_index<$_total_count)
{
//将当前数组循环出的值放入临时数组
$_temp_arr[$_current_index]=$v;
//继续循环下一个数组
$this->getArrSet($arrs,$_current_index+1); }
//如果当前的循环的数组等于输入数组长度(这个数组就是最后的数组)
else if($_current_index==$_total_count)
{
//将当前数组循环出的值放入临时数组
$_temp_arr[$_current_index]=$v;
//将临时数组加入总数组
$_total_arr[$_total_arr_index]=$_temp_arr;
//总数组下标计数+1
$_total_arr_index++;
} }
} return $_total_arr;
}

php 电商系统SKU库存设计的更多相关文章

  1. SpringCloud Alibaba实战(2:电商系统业务分析)

    选用了很常见的电商业务来进行SpringCloud Alibaba的实战. 当然,因为仅仅是为了学习SpringCloud Alibaba,所以对业务进行了大幅度简化,这里只取一个精简版的用户下单业务 ...

  2. B2B电商系统开发建设的价格费用取决于哪些要素

    B2B电子商务系统平台建设开发怎么做?如何搭建一个电商系统网站平台?相信我们的企业商家在搭建电子商务系统的时候都会进行前期的系统策划,但是对于电子商务系统的构建绝大多数人都有一个误区,那就是对于电子商 ...

  3. 属性 每秒10万吞吐 并发 架构 设计 58最核心的帖子中心服务IMC 类目服务 入口层是Java研发的,聚合层与检索层都是C语言研发的 电商系统里的SKU扩展服务

    小结: 1. 海量异构数据的存储问题 如何将不同品类,异构的数据统一存储起来呢? (1)全品类通用属性统一存储: (2)单品类特有属性,品类类型与通用属性json来进行存储: 2. 入口层是Java研 ...

  4. 电商系统中的商品模型的分析与设计—续

    前言     在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...

  5. Java生鲜电商平台-电商促销业务分析设计与系统架构

    Java生鲜电商平台-电商促销业务分析设计与系统架构 说明:Java开源生鲜电商平台-电商促销业务分析设计与系统架构,列举的是常见的促销场景与源代码下载 左侧为享受促销的资格,常见为这三种: 首单 大 ...

  6. 电商中的库存管理实现-mysql与redis

        库存是电商系统的核心环节,如何做到不少卖,不超卖是库存关心的核心业务问题.业务量大时带来的问题是如何更快速的处理库存计算. 此处以最简模式来讨论库存设计. 以下内容只做分析,不能直接套用,欢迎 ...

  7. 电商系统Broadleaf文档翻译(六) - 主要实体main entities

    主要实体 原文标题:main entities 原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/d ...

  8. Java生鲜电商平台-商品价格的设计与架构

    Java生鲜电商平台-商品价格的设计与架构 说明:Java开源生鲜电商平台-商品价格的设计与架构,主要是对商品的价格进行研究与系统架构. 一.常见的电商价格 市场价(List Price):这个价格仅 ...

  9. python-django电商项目-需求分析架构设计数据库设计_20191115

    python-django电商项目需求分析 1.用户模块 1)注册页 注册时校验用户名是否已被注册. 完成用户信息的注册. 给用户的注册邮箱发送邮件,用户点击邮件中的激活链接完成用户账户的激活. 2) ...

随机推荐

  1. 上传文件到Maven仓库

    1.上传jar到本地仓库 mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java -Dversi ...

  2. 基于VB语言对SolidWorks参数化设计的二次开发

    0 引言 随着数字信息化进程的快速推进,如今三维CAD技术在越来越多的企业当中得到运用.为了降低在设计生产中的成本,缩短设计周期,增强企业竞争力,三维参数化技术随之应声,它凭借更贴近现代概念的设计以及 ...

  3. 使用 richtextbox 输出程序运行信息

    private delegate void Refresh_CallBack(Color color,string text); private void ControlsRefresh(Color ...

  4. 基于CAS的SSO单点登录-实现ajax跨域访问的自动登录(也相当于超时重连)

    先补课,以下网址可以把CAS环境搭起来. [JA-SIG CAS服务环境搭建]http://linliangyi2007.iteye.com/blog/165307 [JA-SIG CAS业务架构介绍 ...

  5. FIFO认识(一)

    1.什么是FIFO? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据 ...

  6. OO思想举例,控制翻转,依赖注入

    (转自kumaws,原帖地址:http://www.cnblogs.com/kumaws/archive/2009/04/06/from_interface_to_DependencyInjectio ...

  7. pymongo 常用操作函数

    pymongo 是 mongodb 的 python Driver Editor. 记录下学习过程中感觉以后会常用多一些部分,以做参考. 1. 连接数据库 要使用pymongo最先应该做的事就是先连上 ...

  8. jmeter自动生成测试报告

    环境要求1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t test ...

  9. 2018.10.30 mac环境下卸载和安装mysql及安装过程遇到的一些问题解决方案

    Mac下mysql的安装与卸载 配置初始化密码修改 第一:首先去官网网站下载Mysql软件 https://downloads.mysql.com/archives/community/ 记住选择对应 ...

  10. 七、IntelliJ IDEA 常见文件类型的图标介绍

    咱们已经了解了很多关于 IntelliJ IDEA 的内容啦,例如,在 Windows 系统下安装 IntelliJ IDEA.运行 IntelliJ IDEA .创建 Java 项目以及修改 Int ...