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

nibbaIce -  
jordane45 Messages postés 38486 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?
A voir également:

1 réponse

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

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



0
nibbaIce
 
la boucle foreach?
c'est pour parcourir le tableau afin de trouver le produit.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > 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
nibbaIce > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
ca ne marche pas...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > 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