Comment effacer une ou des valeurs precise(s) dans un tableau en php?

nibbaIce -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, j'essaye de coder un panier pour un site web en PHP et je n'arrive pas a bien supprimer les produit du panier. En gros j'enregistre tout mes articles dans la session avec ce tableau :

$product_id=>array(
'name'=>$name,
'product_id'=>$product_id,
'price'=>$price,
'description' =>$description,
'quantity'=>1,
'img'=>$img)
);

Apres j'ai essayer ca pour suppimer un produit :

if(!empty($_SESSION["cart"])) {

foreach($_SESSION["cart"] as $key => $value) {

if($_POST["product_id"] == $key){
unset($_SESSION["cart"][$key]);
$status = "<div class='price' style='color:red;'>
product deleted</div>";
}

if(empty($_SESSION["cart"]))
unset($_SESSION["cart"]);
}
}
Ca marche quand j'ajoute un produit mais quand j'ajoute plus, ca commence a supprimer le mauvais produit ou ca supprime pas le produit souhaiter. Pouvez -vous m'aider s'il vous plait?

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,
    Pourquoi faire une boucle ?

    $id = !empty($_POST["product_id"]) ? $_POST["product_id"] : NULL;
    if($id){
      unset($_SESSION["cart"][$id]);
    }
    


    0
    1. nibbaIce
       
      la boucle foreach?
      c'est pour parcourir le tableau afin de trouver le produit.
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > nibbaIce
         
        Si tu connais l'id ... et vu que c'est un array associatif dont la clé est l'id du produit... la boucle ne sert à rien.
        Regarde le code que je t'ai donné...
        0
      2. nibbaIce > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ca ne marche pas...
        0
      3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > nibbaIce
         
        Tu peux nous faire des var_dump des variables
        var_dump($_SESSION["cart"]);
        var_dump($_POST);
        

        et nous montrer ce que ça donne ?
        0