如何将会话中存储的数据记录到数据库中?

7gyucuyw  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(231)

我正在尝试将会话中存储的数据记录到数据库中(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;
        }
    }
  }
gcxthw6b

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。我希望所有产品都存储在数据库中的行中。但只插入了一个产品表。

相关问题