我正在創建一個訂單購物車。PHP - 如何做到這一點,如果?
在顯示購物車的頁面上,它檢查存儲在會話$order
中的值是否與mysql表中的某一行的id相對應。如果該匹配存在,則返回相應的行。
在此過程中,我試圖檢索會話$quantity
中存儲的與表中行的id對應的數量值。
$order
和$quantity
中的每個值都分配了一個名稱,它是從中添加的項目的ID。
這是增加了爲了將購物車的代碼:
if (isset($_POST['action']) and $_POST['action'] == 'Order')
{
// Add item to the end of the $_SESSION['order'] array
$_SESSION['order'][$_POST['id']] = $_POST['id'];
$_SESSION['quantity'][$_POST['id']] = $_POST['quantity'];
header('Location: .');
exit();
}
這是購物車頁上的代碼:
foreach ($order as $item)
foreach ($quantity as $amount)
{
mysql_data_seek($productsSql, 0); //<- this line, to reset the pointer for every EACH.
while($row = mysql_fetch_assoc($productsSql))
{
$itId = $row['id'];
$itDesc = $row['desc'];
$itPrice1 = $row['price1'];
if ($item == $itId)
{
$pageContent .= '
<tr>
<td>'.$itDesc.'</td>
<td>'.if ($item[''.$itId.''] == $amount[''.$itId.'']) {echo $amount}.'</td>
<td>R'.number_format($itPrice1*$amount, 2).'</td>
</tr>
';
}
}
}
此行產生語法錯誤:
<td>'.if ($item[''.$itId.''] == $amount[''.$itId.'']) {echo $amount}.'</td>
這裏的初學者有什麼問題?其次,我需要怎樣做才能完成我面臨的任務?
對此的任何輸入將不勝感激!
雖然這工作被添加到購物車中的第一項。當第二件物品被添加到購物車中時,這些物品會被重複,例如,應該有兩個物品,其中有四個物品,這些物品的價值混合了嗎? –
添加var轉儲時,$ $ itId的值爲:string(1)「3」string(1)「3」string(1)「6」string(1)「6」 –
您可以嘗試使用$ item [intval($ itId)]? – Lordalcol