foreach ($cart_array as $id => $quantity){
$itemName = ($id['ProductName']);
$itemPrice = $id['ProductPrice'];
$addItem = "INSERT INTO order_items ( order_number, ProductName, Quantity, Price ) VALUES ('1', '$itemName', '$quantity', '$itemPrice')";
//$addItem = "INSERT INTO order_items VALUES ('one', '$itemName', '$quantity', '$itemPrice')";
if (!($result = mysqli_query ($connection, $addItem)))
die("Error creating item in addItem Query in process order");
}
我的itemName
和itemPrice
无效。如何通过知道ID为变量分配某一行数据?例如,我想将每个产品$id
的名称分配给变量$itemName
,因此允许我将其插入数据库。
答案 0 :(得分:0)
阵列的结构是什么?
您将$ cart_array解压缩为$ key => $值。在您的情况下,您可能正在寻找$ quantity [ProductName]。
尝试:
foreach ($cart_array AS $id => $quantity){
print ("$id<br />");
print ("<pre>");
print_r($quantity);
print ("</pre>");
print ("<hr />");
}
答案 1 :(得分:0)
您的问题是您错误地引用了数组元素。而不是做
foreach ($cart_array as $id => $quantity){
$itemName = $id['ProductName'];
$itemPrice = $id['ProductPrice'];
//....
}
你需要做
foreach ($cart_array as $id => $quantity){
$itemName = $quantity['ProductName'];
$itemPrice = $quantity['ProductPrice'];
或者,如果您希望获得基于$id
的特定行,就像您要求的那样
$id = 2; //Set this to the product id you need
$itemName = $cart_array[$id]['ProductName'];