2014-04-17 10 views
0
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"); 
} 

itemNameitemPrice不工作。如何通過知道ID將某一行數據分配給變量?例如,我想將每個產品$id的名稱分配給變量$itemName,因此允許將其插入到數據庫中。我如何從數據庫中獲取某個字段只知道id?

+0

'選擇yourfield FROM yourtable WHERE idfield = $ id'? –

+0

可以的,如果你這樣做,你後的結果:'的var_dump($ cart_array);' – larsAnders

+0

因爲它插入查詢進入該領域,而不是查詢 – user3545600

回答

0

你的數組的結構是什麼?

您提取$ cart_array爲$ key => $ value。您可能正在尋找,在您的情況下,$ quantity [ProductName]。

嘗試:

foreach ($cart_array AS $id => $quantity){ 

print ("$id<br />"); 
print ("<pre>"); 
print_r($quantity); 
print ("</pre>"); 
print ("<hr />"); 

} 
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']; 
+0

的結果,我不能做一個foreach循環中查詢我需要的$ id成爲陣列中的關鍵? – user3545600

+0

我試着把它引用到數量上,它仍然輸入正確的數據。 – user3545600

相關問題