Problème mise à jour tableaux multidimensionnel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème mise à jour tableaux multidimensionnel

par Worm1 » 10 févr. 2006, 18:24

RE, moi , alors j'ai creusé un peu et j'ai trouvé une solution pour distinguer les couleurs mais peut être un peu tiré par les cheveux :? En fait je mets l'identifiant devant la couleur dans le sous tableau ca donne ca :

Code : Tout sélectionner

[cart] => Array ( [4] => Array ( [4bleu] => 1 ) )
Je pense que doit y avoir une manière plus reglo de gerer ca mais bon ...

par Worm1 » 10 févr. 2006, 17:56

Juste une précision pour le formulaire c 'est ca :

4 bleu <input type="text" name"=bleu" value="3">
3 rouge<input type="text" name"=rouge" value="2">
3 vert<input type="text" name"=vert" value="1">
3 bleu <input type="text" name"=bleu" value="1">

Petite erreur :roll:

Problème mise à jour tableaux multidimensionnel

par Worm1 » 10 févr. 2006, 17:53

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 :

Code : Tout sélectionner

unset($cart[$isbn][$couleur]);
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

+++ :wink: