2012-02-18 32 views
0

我有一個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

不用擔心,解決了問題 – 2012-02-19 00:08:55

回答

4

您應該創建兩個表。

表1:您的訂單中包含訂單ID(自動增量)的唯一鍵的表

表2:鏈接到一個訂單ID

這樣的項目表,你可以創建新訂單通過在表1中插入一行。 從剛剛創建的行中獲取orderId,然後遍歷cart_array並在第二個表中插入行,每行包含一行。將每個項目引用到orderId。

1

記錄作業(如果你想使用外鍵)。

新表存儲對實際項目(其id)的引用以及對交易(其id)(和數量)的引用。