我有一个带会话的购物车,如何为一个菜单显示多个面


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"]
           ];
       }
  }

最新更新