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

时间:2013-04-11 14:58:12

标签: php mysql orders

我有一个购物车,可以在Sessions中存储itemIds和每件商品的数量,直到我们结帐。

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

我的问题是:如何处理来自具有多个项目的客户的一个订单?多个数量很简单,因为我的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)";

1 个答案:

答案 0 :(得分:1)

在我看来,你应该创建至少包含这些字段的2个表:

订单

id | user_id | date

ordered_items - 除此表外,您还必须拥有完整的商品表,其中包含有关您商品的所有信息。 Price需要item_id | order_id | quantity | price,因为您的商品价格可能会发生变化,您不得更改已经创建的订单上的'花费的金额'。

{{1}}

因此,您可以使用连接并计算您需要的所有内容 - 表连接将完成所有工作。