php - 电子商务,存储订购的产品和产品选项

标签 php mysql database database-design e-commerce

我正在尝试确定在数据库中存储订单的最佳方式。

每个产品都可以配置,但并非所有选项都相同。例如:

Product A
Size: small, medium, large
Membership: 1 year, 2 years, 3 years, 5 years

Product B
Size: small, medium

Product C
Design: a, b, c, d
Recipient: jondoe@msn.ca
Amount: 25.99

如您所见,每个订单都可以包含一些漂亮的可变数据。处理存储此类事务的最佳方法是什么?

最佳答案

如果这是您要拥有的所有 table ,我会这样做

Products
product_id
product_name

Sizes
size_id
size_name

Memberships
membership_id
membership_name

Designs
design_id
design_name

Recipients
recipient_id
recipient_name

Orders
order_id
product_id
size_id
design_id
membership_id
recipient_id
total_amount

根据金额的计算方式,您可以将金额添加到每个表中作为产品、尺寸等的“金额”,然后在最终订单部分中从每种类型中提取金额并计算它以更新“最终订单中的total_amount'列。如果他们更改 size_id 则重新计算,等等。

希望这有帮助吗?

关于php - 电子商务,存储订购的产品和产品选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17034587/

相关文章:

PHP cookie 和成员(member)安全

mysql - 错误: 1111 Invalid use of group function

mysql - 从 SQL 有序 ASC 中选择最后 20 行

database - 为 Delphi 应用程序选择数据库和许可

php - 错误 SET SQL_BIG_SELECTS=1 或 SET MAX_JOIN_SIZE=#

php - FPDF 错误 : Some data has already been output, 无法在 000webhost 上发送 PDF 文件

php - 我可以在PHP上检索YouTube channel 详细信息吗?

MySQL无法连接远程服务器

mysql - MIN() 导致 MySQL 返回全空行而不是 0 行

sql - 来自规范化 SQL 数据库的数据的表格 View