我一直在努力尋找一個簡單的購物車與$_SESSION
解決方案。 我一直是很簡單的,這是我的代碼現在PHP會話購物車:更新產品,如果它已經是會話編號
if (Input::isPost('add')) {
$id = Input::get('id');
$qta = Input::post('qta');
$size = Input::post('size');
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
}
if (array_key_exists($id, $_SESSION['cart'])) {
if ($_SESSION['cart'][$id][0] == $size) {
$_SESSION['cart'][$id][1]+=$qta;
} else {
$_SESSION['cart'][$id] = array($size, $qta);
}
} else {
$_SESSION['cart'][$id] = array($size, $qta);
}
}
那麼,這是什麼代碼呢?
1)如果$_SESSION['cart']
不存在,創建它,否則添加新項目。 2)當您將物品添加到購物車時,您必須爲該物品選擇尺寸和數量。 3)如果該商品已經存在於購物車陣列中,請檢查尺寸是否相同,如果是,請更新數量。這裏是問題,如果該項目已經存在(檢查$_SESSION['cart'][$id]
),但大小不同,請不要更新當前項目,而是創建一個新項目。問題是,當前的一個正在被替換而不是添加一個,因此,而不是兩個產品具有相同的id
但不同的size
,我只有最近的一個。
如果你能幫我解決它,我會非常感謝!
預先感謝您。
哦,男人,不能夠感謝你。儘管我不得不修改if語句並檢查isset($ _ SESSION ['cart'] [$ id] [$ size])而不是array_key_exists(),因爲數量會替換而不是添加到當前數據。再次感謝你 ! –
不用擔心,很高興能夠幫助! –