我正在尝试将会话中存储的数据记录到数据库中(orderdetails)。当有多个产品时,只添加第一个选定的产品,第二个产品不会注册到数据库。foreach或sql3的位置有问题吗?原因是什么?如果你能帮忙,我将不胜感激。
我的数据库在这里=>>
我的代码在这里=>>
if(!empty($_SESSION["cart"]))
{
$sql="INSERT INTO `order` (`orderID`, `tableID`, `orderDate`, `orderStatus`) VALUES (NULL, '".$table_id."', '".$time."', '1')";
$DBcon -> query($sql);
foreach($_SESSION["cart"] as $keys => $values){
$product_id=$values["product_id"];
$item_name=$values["item_name"];
$quantity=$values["item_quantity"];
$product_price=$values["product_price"];
$pro_sum=$values["item_quantity"] * $values["product_price"];
$sql2="SELECT `orderID` FROM `order` WHERE `tableID`='".$table_id."' and `orderStatus`=1";
$result = $DBcon -> query($sql2);
if ($result->num_rows > 0){
while ($row = $result->fetch_assoc()) {
$order_id = $row['orderID'];
}
}
$sql3="INSERT INTO `orderdetail` (`orderID`, `productID`, `unitPrice`, `quantity`, `total`) VALUES ('".$order_id."', '".$product_id."', '".$product_price."', '".$quantity."', '".$pro_sum."')";
if( $DBcon -> query($sql3) === TRUE){
echo "New record created succesfully.";
}else{
echo "Error : " . $sq3l . "<br>" . $DBcon->error;
}
}
}
1条答案
按热度按时间gcxthw6b1#
我添加了2个产品并将它们插入数据库。结果(数组)在这里=>>image.ibb.co/cerglj/ekran\u g\u r\u nt\u s\u 133.png。但我的数据库只有一行:s=>>image.ibb.co/fdpj0j/ekran\u g\u r\n t\u s\u 134.png。我希望所有产品都存储在数据库中的行中。但只插入了一个产品表。