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

时间:2018-03-19 23:21:31

标签: php arrays

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

我希望它能显示菜单的多面,但它只显示最后添加的一面并忽略其余的....如何更改它并为一个菜单设置多面。一直在努力解决这个问题。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

目前您不是在添加幻灯片,而是在使用相同数据时更新幻灯片。您要做的是检查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"]

           ];
       }
  }