2011-10-18 76 views
0

我有一個購物車,項目被添加到會話如下。購物車建議

array_push($_SESSION['cart'],sanitize($id)); 

這對沒有子選項的單選項沒有問題。但是,如果你喜歡,像牛奶和英式鬆餅的Espresso,看起來有點像這樣。

$_SESSION['0'] is 'Espresso' 
$_SESSION['1'] is 'Milk' 
$_SESSION['2'] is 'English Muffin' 

或熟食店菜單

$_SESSION['0'] is 'sandwich' 
$_SESSION['1'] is 'ham' 
$_SESSION['2'] is 'cheese' 
$_SESSION['3'] is 'tomato' 
$_SESSION['4'] is 'Coke' 

,然後將用戶想要刪除sandwich並保持coke我怎麼會刪除所有的三明治和它的選項sandwichhamcheesetomato時用戶選擇刪除三明治?記住三明治的選擇可能會有所不同。

回答

1

我認爲你需要重新考慮如何將物品添加到購物車。我認爲更有意義的是創建一個數組並將該數組添加到購物車。如果你有多個選項的項目,您將創建爲:

$espresso = array("milk"); 
$sandwich = array("ham","cheese","tomato"); 

$cart = array("drink"=>$espresso, "sandwich"=>$sandwich); 
$_SESSION['cart'] = $cart; 

然後你如果somoene想要刪除的飲料,他們可以這樣做:

unset($_SESSION['cart']['drink']); 

或者,如果你只是想刪除奶酪:

unset($_SESSION['cart']['sandwich'][2]); 

什麼會最有意義將是有,你可以屬性添加和刪除的對象,然後控制使用對象的方法是什麼您的會話。

+0

使用此,但在JavaScript而不是PHP – maxum