j'ai un souci avec la suppression de ligne dans un caddie PHP. Je croyais que la fonction suppresion fonctionnait bien mais il y a un bug !
CITATION
<?php
elseif (($_GET['action'] == "del")) // on supprime le produit
{
foreach($_SESSION['panier'] as $key => $array)
{
if ($array['prod'] == $_GET['id'])
{
unset($_SESSION['panier'][$key]);
$message = " effacé !! ";
}
}
}
?>
elseif (($_GET['action'] == "del")) // on supprime le produit
{
foreach($_SESSION['panier'] as $key => $array)
{
if ($array['prod'] == $_GET['id'])
{
unset($_SESSION['panier'][$key]);
$message = " effacé !! ";
}
}
}
?>
Mon problème vient quant on veur supprimer un objet qui n'est pas le dernier listé dans le caddie. SI c'est le dernier, nikel, sinon il n'affiche que les premiers jusqu'à celui qui est supprimé.
J'ai lu un excellent conseil sur un forum et j'ai placé ce code à la fin de mon tableau de caddie :
CITATION
<? echo "<p>" .print_r($_SESSION)."</p>"; ?>
Panier de 3 produits avant la suppression :
CODE
Array ( [panier] => Array ( [0] => Array ( [prod] => SFN003 [qte] => 1 ) [1] => Array ( [prod] => SHN001 [qte] => 1 ) [2] => Array ( [prod] => DHN001 [qte] => 2 ) ) )
Panier après la suppression du 2eme :
CITATION
Array ( [panier] => Array ( [0] => Array ( [prod] => SFN003 [qte] => 1 ) [2] => Array ( [prod] => DHN001 [qte] => 2 ) ) )
Vous voyez le pb ? En fait cela me supprime bien la ligne mais cela semble ne pas apprécier que l'on passe d'une ligne array[0] à array[2]
Merci pour votre coup de main