php - 订单插入,同一个订单中的多个项目

标签 php mysql orders

我有一个购物车,它在我们结账之前在 Session 中存储每件商品的 itemId 和数量。

客户付款后,我继续将信息插入数据库中的 ORDERS 表中。

我的问题是:我应该如何处理来自具有多个项目的客户的一个订单?多个数量很简单,因为我的订单表有一个“数量”字段。但是多个项目呢?推荐什么? 我应该为同一个订单的每件商品插入不同的行吗?

目前我有这个:

$query = "INSERT INTO orders (itemId, quantity, clientPrice, firstName, lastName, email, phoneNumber, address, city, zip) 
VALUES (:itemId, :quantity, :clientPrice, :firstName, :lastName, :email, :phoneNumber, :address, :city, :zip)";

最佳答案

在我看来,您应该创建至少包含以下字段的 2 个表:

订单

编号 |用户 ID |日期

ordered_items - 除此表外,您还必须有完整的项目表,其中包含有关您产品的所有信息。此处需要 Price,因为您的商品价格可能会发生变化,您不得更改已创建订单的“花费金额”。

item_id |订单编号 |数量 |价格

因此您可以使用联接并计算所需的一切 - 表联接将完成所有工作。

关于php - 订单插入,同一个订单中的多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15952149/

相关文章:

php - 以编程方式将优惠券应用于 WooCommerce3 中的订单

php - 如何避免使用空格和/或特殊字符的文件名

php - 自动求和数组

php - 压缩 PHP 查询

当没有找到记录并且失败时,PHP PDO fetch 返回 FALSE

php - 在 WooCommerce 电子邮件模板中获取产品名称和描述

PHP v/s JSP(基于安全性)

mysql - mysql :error 1227 ( 42000)

MySQL Order By 减慢连接速度

php - WooCommerce - get_order() 不起作用,它返回零