我有一个cart_array来保存购物车中的商品,它包含item_id,尺寸和数量。目前我正在使用自动递增的订单ID将这些写入表交易,但是它为每个项目创建了一个新行,这意味着一个订单的订单ID可能是3个项目的1,2,3。我正在寻找一种订购方式。 129然后以某种方式将那些项目链接到该订单。这是我的php和sql语句
foreach ($_SESSION["cart_array"] as $each_item) {
$item_id = $each_item["item_id"];
$sql = mysql_query ("SELECT * FROM products WHERE id='$item_id' LIMIT 1");
while ($row = mysql_fetch_array($sql)) {
$price = $row["price"];
}
$sql = "INSERT INTO transactions (pid, item_id, quantity, price, size, date) VALUES ('$userID', '$each_item[item_id]', '$each_item[quantity]', '$price', '$each_item[size]', now())";
mysql_query($sql);
}
?>
答案 0 :(得分:4)
你应该创建两个表。
表1:包含订单的表格,其中包含orderId(autoincrement)
等唯一键表2:包含与orderId
相关联的项目的表格通过这种方式,您可以通过在表1中插入一行来创建新订单。 从刚刚创建的行中获取orderId,然后遍历cart_array并在第二个表中插入行,每个项目都有一行。将每个项目引用到orderId。
答案 1 :(得分:1)
在单独的表中记录分配(如果需要,请使用外键)。
新表存储对实际项目(其id)的引用以及对事务(其id)(和数量)的引用。