Je vois le problème, les indices de ton tableau $TabCommande ne sont pas directement liés à l'id du produit.
Tu va aussi avoir des problèmes si un client ajoute plusieurs fois le même produit.
En fait, tu as un niveau en trop dans tes tableaux, et une info manquante : la quantité.
Je tu suggère donc de procéder ainsi :
$Tab : Info 'temporaire' sur un produit.
$TabCommande : Tableau des produits de la commande.
Ajouter $Quantity d'un produit
if( isset( $TabCommande[$ProduitId] ) )
{
$Tab = $TabCommande[$ProduitId];
$Tab['Qty'] += $Quantity;
}
else
{
$Tab = array( 'Nom' => $CommandeNom, 'Prix' => $CommandePrix, 'Qty' => $Quantity );
}
$TabCommande[$ProduitId] = $Tab;
|
Supprimer complètement un produit :
unset( $TabCommande[$ProduitId] ); |
Enlever $Quantity à un produit :
if( $Quantity >= $TabCommande[$ProduitId]['Qty'] )
{
unset( $TabCommande[$ProduitId] );
}
else
{
$TabCommande[$ProduitId]['Qty'] -= $Quantity;
} |
Sinon, tu peux aussi faire de l'objet, c'est plus fun
---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.