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

时间:2018-06-14 18:29:17

标签: php mysql session insert

我试图将会话中存储的数据记录到数据库中(orderdetails)。当有多个产品时,只添加第一个选定的产品,第二个产品不会注册到数据库。 foreach或sql3的位置有问题吗?这可能是什么原因?如果你能提供帮助,我会很感激 我的数据库ss在这里=>>
here
我的代码ss在这里=>>> here

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 个答案:

答案 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个产品表。