PHP:如何将购物车数据(foreach循环)存储到不同的变量中以存储在MySQL中

时间:2017-05-01 12:25:08

标签: php html

下午好,

我搜索了这个查询的答案,我能找到的最接近的是:Storing elements in an array at each iteration of a foreach on PHP

我正在使用PHP构建自己的电子商务平台,现在我已经到了可以添加项目到我的购物车的地步。

我目前正在构建结帐页面,但我不知道如何将每个订购的产品存储到不同的变量中,以便我可以将它们存储到MySQL中。

以下代码允许我填充相关数据,我不知道如何将这些数据存储到变量中:

<?php 
session_start();

include '../connection.php';

	$cartProducts = array();
	
	foreach ($_SESSION["cart_item"] as $item){
	
		
				
		echo "Product Details Acquired:" . "<br>";							
		echo $item["product_name"] . "<br>"; 
		echo $item["quantity"] . "<br>";
		echo "£".$item["product_price"] . "<br> <br>";
				
		} 


	//setting username variable
	$myusername = $_SESSION['login_user'];

	// getting client info
	include '../connection.php';
		$sql="SELECT id, username, phone, email from clients WHERE username='$myusername'";
			if ($result = mysqli_query($connection, $sql)){
				//Presenting data from array  
				while ($row = mysqli_fetch_array($result))  {
						$client_id= $row['id'];
						$client_phone= $row['phone'];
						$client_user= $row['username'];
						$client_email= $row['email'];
						
						echo "User details acquired" ."<br>";
						echo $client_id ."<br>";
						echo $client_phone ."<br>";
						echo $client_user ."<br>";
						echo $client_email ."<br>";
					}
				}
				else {
					 echo "No client data found...";
					}
		
	
?>

这会产生我需要的所有数据:

获取的产品详情: 椅子 1 £129.89

获取的产品详情: 双人床 1 £1999

获得的用户详细信息 4 2147483647 coreyhowe12 corey@test.com

非常感谢任何帮助:)

2 个答案:

答案 0 :(得分:1)

为什么不在INSERT循环中使用foreach查询,如下所示:

foreach ($_SESSION["cart_item"] as $item){

   // use your product attributes like this.
   $product_name = $item["product_name"];
   $quantity = $item["quantity"];

   // then use insert query like this
   $insert = "INSERT INTO products (`product_name`, .. other columns ..) VALUES ('$product_name', .. other column values ..)";
   mysqli_query($connection, $insert);

}

答案 1 :(得分:0)

你能不把它存储在一个数组中,然后循环遍历数组以进行插入查询吗?