Bonjour à tous 8)
J'ai un petit soucis pour manipuler un tableau.
Celui-ci me permet de gérer le contenu d'un panier.Voilà un exemple de la structure :
Code : Tout sélectionner
[cart] => Array
(
[4] => Array
(
[bleu] => 3
)
[3] => Array
(
[rouge] => 2
[vert] => 1
[bleu] => 1
)
)
Le premier tableau correspond aux identifiants des produits du panier , le deuxième correspond aux différentes couleurs et enfin la valeur correspond à la quantité.
Quand j'ajoute un produit je fais ça :
Code : Tout sélectionner
if($cart[$isbn][$couleur])
$cart[$isbn][$couleur]+=$quantité;
else
$cart[$isbn][$couleur] = $quantité;
Jusque là pas de soucis.
C'est après que ca merde
J'ai disposé le contenu du tableau en formulaire avec la possibilité de modifier les quantités ce qui donne pour l exemple cela :
4 bleu <input type="text" name"=bleu" value="3">
3 rouge<input type="text" name"=bleu" value="2">
3 vert<input type="text" name"=bleu" value="1">
3 bleu <input type="text" name"=bleu" value="1">
Maintenant si je veux mettre à jour mon tableau je fais cela :
Code : Tout sélectionner
foreach ($cart as $isbn => $qty)
{
foreach($qty as $couleur => $valeur)
{
if($$couleur=="0")
unset($cart[$isbn][$couleur]);
else
$cart[$isbn][$couleur] = $$couleur;
}
}
Le soucis c 'est qu' à l arrivé la quantité du produit 4 va prendre la valeur de la quantité du produit 3 avec la couleur bleu. En bref , la distinction des couleurs ne se fait pas ;(
ALors faut il que je change la nom de mes input pour la quantité ?
Ou y a t il une erreur dans le parcours du tableau ?
Dernière question :
Quandje veux supprimer un produit je fais ca :
Alors si je supprimer le produit 3 de couleur bleu ca va me supprimer aussi le produit 4 bleu .Donc mm soucis de différenciation et également j 'ai remarqué que après la suppression il reste un array() dans le tableau $ cart .
Comment faire pour virer définitivement ce sous tableau?
Merci d'avoir pris le temps de regarder mon problème et encore plus merci si vous arrivez à m'orienter pour régler mes ptits soucis sur ce tableau
+++
