Bonjour à tous,
Ca fait des jours que je traine sur ce forum et ailleurs, pour trouver la clef qui me permettra enfin de rentrer dans la logique d'accès et de modification de valeurs de variable session.
Voilà mon souci :
j'ai une liste de produits avec pour chacun un identifiant unique $id_produit et un bouton evènementiel à cliquer du genre "ajouter au panier"
Cet évènement consiste à incrémenter la variable $PRODUIT[] avec un couple de valeurs [id_produit, quantité] (à noter qu'il s'agit plutôt de deux valeurs en une, càd une chaîne de type ($id_produit.";".$quantité) que "j'explode" ensuite pour l'exploiter. Je peux donc avoir plusieurs de ces valeurs pour une même variable (càd plusieurs produits différents, de quantités diverses, dans mon panier)
Je n'ai aucun souci pour créer une nouvelle valeur à ma variable, dès lors que cet id_produit a été mis en dans le panier pour la 1ère fois :
Par contre, si l'utilisateur clique une 2ème fois sur un produit déjà mis en panier, j'aimerais pouvoir lire la variable existante $PRODUIT[], m'arrêter sur la valeur $id_produit existante et correspondant à l'$id_produit qui vient d'être de nouveau sélectionné par l'utilisateur, et incrémenter la valeur $quantité d'une unité de plus (1 clic panier = 1 unité de plus dans $quantité)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $PRODUIT[] = $id_produit.";"."1"; // je crée ma chaîne qui est en fait le couple ($id_produit + $quantité) session_register("ID_PRODUIT"); // j'enregistre ma variable
En lisant ma variable, je pourrais donc avoir plusieurs valeurs comme :
Je ne devrais donc avoir comme valeurs que des $id_produit différents avec pour chacun d'eux une quantité correspondant au nombre de clics panier exécutés par l'utilisateur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $PRODUIT[0] = "23;1" $PRODUIT[1] = "9;1" $PRODUIT[2] = "15;3" $PRODUIT[3] = "21;5"
Mais je n'arrive ni à faire ma boucle de lecture des valeurs de cette variable, ni à modifier une valeur existante de la variable. J'ai l'impression que c'est un problème d'array(), oh et puis j'en sais rien !
Comprends rien....
Merci d'avance pour vos lumières !
Partager