|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour à tous,
Je ne parviens pas à articuler mon code logiquement, sachant que j'ai une boucle dans laquelle passent des ID de produits. Pour chacun d'entre eux, 3 types de remises peuvent s'appliquer, mais pas se cumuler. Et je dois respecter un ordre de priorité des remises : - La remise "code-promo" prime sur les 2 autres - La remise "promoprod" prime sur la dernière - La remise "promocat" ne s'applique que si aucune n'a été appliquée. Mais rien n'empêche que 3 produits soient dans le panier et que chacun ait une des trois remises. L'important, c'est le non-cumul pour un même produit. Code :
Je ne sais pas si j'ai bien expliqué le truc (j'ai beaucoup simplifié) mais si oui, je veux bien une piste sur la façon d'organiser ça. Merci d'avance. |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() |
Bonjour,
Pour suivre l'ordre de préférence tu as if () elseif () elseif ()... Cela donnerait : Code :
|
||
|
00
|
|
|
#3 | ||||
|
Membre chevronné
![]() Fred Professeur des Ecoles Inscription : mai 2009 Messages : 503 ![]() |
Essaye ceci :
Code :
Tu verras que aucun des prix n'est changé. Dans ta boucle $prix contient bien $tab[$id_prod], mais dans une zone mémoire différente ce qui fait que lorsque tu appliques ta remise à $prix, cela n'affecte en rien le contenu du tableau. PUIS regarde et essaye ceci : Code :
MiCetF |
||||
|
00
|
|
|
#4 | ||||||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour à vous, et merci de vos précieuses indications !
En fait, j'ai solutionné ce problème avant de voir vos réponses car le suivi email n'a pas fonctionné. Mais finalement, je suis sur le même principe que ce qu'à écrit micetf : je range tout dans un nouveau tableau (id_prod est la clé) dans les ordres de priorité des remises au fur et à mesure ce qui donne : Code :
Mais ensuite, hors de la boucle, je souhaite le ré afficher sous forme de synthèse en groupant les montants de remise par type de remise. Or, j'ai simulé un exemple ou 2 produits ont une remise code_promo et le 3ème une remise produit : voici le print_r de ce tableau : Code :
Ce qui donnerait : Code :
|
||||||
|
|
00
|
|
|
#5 | ||
|
Membre chevronné
![]() Fred Professeur des Ecoles Inscription : mai 2009 Messages : 503 ![]() |
Il y a peut-être mieux, mais voici une proposition :
Code :
|
||
|
00
|
|
|
#6 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Merci beaucoup ! je vois que tu manies toujours très bien les tableaux.
Je te souhaite une bonne journée. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com