if($_POST["action"] == "add_side") {
foreach($_SESSION["shopping_cart"] as $keys => $values) {
if($_SESSION["shopping_cart"][$keys]['product_id'] == $_POST["product_id"]) {
$_SESSION["shopping_cart"][$keys]['side_name'] = $_POST["side_name"];
$_SESSION["shopping_cart"][$keys]['side_price'] = $_POST["side_price"];
}
}
}
我希望它为菜单显示多面,但它只显示最后添加的一面而忽略其余的......我怎样才能改变它并为一个菜单提供多面。为此苦苦挣扎了一段时间。任何帮助将不胜感激
目前,您没有添加幻灯片,而是使用相同的数据更新幻灯片(如果存在(。 您要做的是检查 productId 是否存在,如果不存在,则将新产品添加到会话数组的末尾。这样:
if($_POST["action"] == "add_side")
{
if(!in_array($_POST["product_id"], array_column($_SESSION["shopping_cart"], 'product_id'))){
$_SESSION["shopping_cart"][] = [
'product_id' => $_POST["product_id"],
'side_name' => $_POST["side_name"],
'side_price' => $_POST["side_price"]
];
}
}