我试图将会话中存储的数据记录到数据库中(orderdetails)。当有多个产品时,只添加第一个选定的产品,第二个产品不会注册到数据库。 foreach或sql3的位置有问题吗?这可能是什么原因?如果你能提供帮助,我会很感激
我的数据库ss在这里=>>
我的代码ss在这里=>>>
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;
}
}
}
答案 0 :(得分:0)
我添加了2个产品并将其插入数据库中。结果(数组)在这里=&gt;&gt; image.ibb.co/cErgLJ/Ekran_G_r_nt_s_133.png。但我的数据库有一行:S。 =&GT;&GT; image.ibb.co/fDPJ0J/Ekran_G_r_nt_s_134.png。我希望所有产品都存储在数据库中的行中。但只插入了1个产品表。