php - 如何在 MySQL 中存储复杂的产品/订单数据?

标签 php mysql sql database relational

我正在为我的在线商店开发一个订单系统。我有 2 个表:

  1. 产品,存储产品信息
  2. 订单,存储客户订单的一般 ID 和信息。

现在我想有一种方法可以在数据库中存储复杂的客户订单。我需要一些信息,让我知道订单中每种产品的每种尺寸(S、M 或 L)的数量。

棘手的是我希望能够添加/编辑/删除产品(当然不影响过去的订单),所以方法要灵活

我该怎么办?

  1. 每个订单都有一个单独的表格,产品作为行?
  2. 所有订单的表格,以产品作为列?
  3. 其他选择?

谢谢!

最佳答案

取决于您的购物车目标。例如,你想允许客人购买吗?即用户无需登录即可进行购买?

所附图片是我一直在进行的设计,它是这样的:

  1. 访问者从站点选择产品并将这些添加到 session 购物车(只是一个临时存储产品、产品数量和价格等的地方)

  2. 一旦客户准备结账,我们就会创建订单、订单人和 person_address(产品必须交付到的地址),并将商品添加到 order_item 表中。所有这些信息均由客户在结帐页面中添加。

  3. 最后一步是提供付款方式:paypal、信用卡等。

我喜欢这种设计的一点是用户没有义务向我们注册。 Order_person 充当用户和订单之间的一种接口(interface)。如果要注册,我们只需将 order_person 链接到用户表...

我也包含了结帐页面的示例前端。

Product Order Database Design

enter image description here

关于php - 如何在 MySQL 中存储复杂的产品/订单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20380034/

相关文章:

php - 在 Android 中显示来自 MySQL 的复选框字段

php - 用json php mysqli查看标签表中的数据

PHP:如何在 MySQL 中存储 HTML?

mysql - 计算多个列中的重复项并在 MySQL SELECT 语句中删除它们

使用 GROUP 或 RANK 中的 WHERE 的 SQL 语句

mysql - 在sql中按月分离租金

php - 我可以从 Flash 文件动态生成 300 dpi 图像吗?

php - mysql中打印表后导出为csv

php - 设置服务器,在/usr下找不到libmysqlclient

SQL 选择一列中的多行