我在大学项目中遇到了一些问题。我将使用php建立一个网上购物网站。在这里,我使用了会话数组$_SESSION['cart_array']
,其中存储了产品id和数量。代码运行良好,我的购物车正在运行。
现在我要将用户订单保存到数据库表order
中。我计划使用order
表中的产品Id和数量来生成账单。现在,问题是如何将这些id和数量存储在数据库中的一个唯一id(订单id)下?
我是php的新手,我不确定我的方法是否合适。感谢您的帮助。
感谢
由于数据在关系数据库中是平面的,因此通常需要多个表来获得所需的结构。
在这种情况下,您需要一个名为order_product
的第二个表,该表包含字段order_id
和product_id
的组合主键以及一个附加列quantity
。您可能还需要添加一个price
字段。
因此,首先将常规信息保存到order
表中,然后将订购的产品保存到order_product
表中。
为了确保在发生错误时不会得到部分订单,请在第一个INSERT
查询之前执行START TRANSACTION
,在最后一个查询之后执行COMMIT
。有关这方面的更多信息,请参阅MySQL事务。