|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
Bonsoir à tous, je suis actuellement en bts informatique de gestion et pour mes épreuves de fin d'année je dois présenter 5 applications, je suis actuellement en train d'en finir une cependant je me retrouve confronter à un problème dans une de mes fonctions php :
Code :
Pour être plus clair, si j'ai une 10 télé en session, si j'en veut en rajouter 5 au lieu d'en avoir 15 en session et bien j'en ai 5. Si quelqu'un aurais une idée(sa doit venir de ma boucle je pense), cela me retirerais une épine du pied Merci d'avance |
||
|
|
00
|
|
|
#2 | ||
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
C'est parce que ta nouvelle valeur écrase l'ancienne.
Code :
Code :
$_SESSION['PanierVirtuel'][$i]['quantite'] = $q; etc... Tu peux résoudre ce problème en faisant unset sur $_SESSION['PanierVirtuel'] au début si tu n'as besoin que d'un panier par utilisateur. Sinon, utilise un break à la fin de la clause if (solution inélégante), ou utilise un switch et un break si $i == $key afin que les autres cas ne puissent plus s'exécuter, si tu as besoin d'avoir plusieurs paniers en session. |
||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
Merci Tsilefy pour ta réponse, j'ai compris ce que tu as expliqué , par contre un switch case ça ne s'utilise pas normalement pour remplacer une boucle if avec plusieurs elseif ?
Etant donné que je n'ai jamais utiliser cette structure, pourrais tu me dire si la boucle est bien contruite? Merci d'avance Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Oui, c'est bon.
Break empêche la boucle de s'exécuter au cas où il y a 2 conditions exactes. Seule la 1ère est exécutée. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
Merci pour tes indications Tsilefy, pour le moment cela ne fonctionne toujours pas, lorsque je n'ai qu'un seul article dans mon panier, si je rajoute le même, la quantité est bien modifiée, mais quand j'en ai plusieurs dans mon panier, la quantité est remplacée, je vais continuer à creuser.
|
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Je n'ai pas le moyen de faire des tests pour l'instant, mais au lieu de tester l'existence de $_SESSION['PanierVirtuel'] au début, il faudrait directement tester l'existence de $_SESSION['PanierVirtuel'][$i]. S'il n'existe pas, créer l'article, s'il existe il faut le modifier.
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
J'ai suivi ton conseil Tsilefy, au début de mon script au lieu de tester l'existence de mon panier, j'ai tester l'existence de mon article, si il est présent, je modifie la quantité sinon je l'ajoute au panier, de cette manière ma fonction marche merci encore Tsilefy d'avoir prit le temps de plancher sur mon problème.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com