Toucouleur Posté 28 Avril 2005 Partager Posté 28 Avril 2005 Bonjour, c'est mon premier post sur ce forum, et je fais appel à vous car je me suis couché tard dans la nuit pour un problème bien sépcifique, et que je ne trouve pas la solution. L'objectif du script ci-après, est de calculer le prix d'un produit en fonction de la quantité achetée. Mais voila, lke but du jeux, c'est qu'en fonction du nombre de produits, le prix va changer. Dans l'exemple ci-dessous, vous avez $modulo = 2. ça veut dire pour moi, que ce produit est à 10 et que je veux que le second pour l'utilisateur soit à 1 ($pdisount). Donc si j'achète le produit 7 fois, je dois faire 3 x $pnormal + 3 x $pdiscount + 1 x $pnormal (le modulo) = 43 Mais mon soucis, viens du fait que si je change $modulo par 3 par exemple, mes rêgles de caclul ne fonctionnent plus du tout. Comment faire pour touver l'algo idéal quelque soit le modulo qui représente donc le nombre de produit à acheter pour avoir le suivant à 1 ? Merci par avance <?php $qty = 7; $modulo = 2; $pnormal = 10; $pdiscount = 1; echo "<br>quantité : " . $qty; echo "<br>test quantité modulo : " . $qty % $modulo; echo "<br>tarif pour <b>premier</b> tarif : "; echo $t1prix = floor($qty / $modulo) * $pnormal; echo "<br>tarif pour <b>second</b> tarif : "; echo $t2prix = $qty >= $modulo ? (floor($qty / $modulo) * $pdiscount) : 0; echo "<br>ajouté pour <b>ce qui reste</b> (modulo) :"; echo $tmodulo = ($qty % $modulo) * $pnormal; $total = $qty >= $modulo ? intval($t1prix + $t2prix + $tmodulo) : $qty * $pnormal; echo "<br>total : ". $total; ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 28 Avril 2005 Partager Posté 28 Avril 2005 (modifié) Bonjour Je ne sais pas si les prix du deuxième et du troisième sont égaux, avec un modulo 3 ? $qty = 7; $modulo = 2; $pnormal = 10; $pdiscount = 1;$normaux = floor($qty/$modulo); // nombre de "cycles normaux"$nbenplus = $qty - $normaux*$modulo; // nombre de produits en plus$prixtot = $normaux*($modulo-1) * $pnormal + $normaux * $pdiscount + $pnormal * $nbenplus; dit Sarc : en fait, c'est encore plus facile ce que tu demandais Modifié 28 Avril 2005 par sarc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Toucouleur Posté 28 Avril 2005 Auteur Partager Posté 28 Avril 2005 avec un modulo 3, le prix du premier et second produit est égal à $pnormal, mais le prix du 3ième est donc à 1euros. Donc avec un modulo 3, pour 3 produits achetés, ça doit me faire 21 (10 * 2 + 1 * 1 ) Merci Sarc, je vais jeter un oeil de suite sur ton idée de code. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 28 Avril 2005 Partager Posté 28 Avril 2005 (modifié) ah oui, désolé, j'avais compris "un produit acheté, deux à pris réduits".. Je vais revoir le code, attends dit Sarc : le code a été changé, suite à l'explication plus détaillée Modifié 28 Avril 2005 par sarc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Toucouleur Posté 28 Avril 2005 Auteur Partager Posté 28 Avril 2005 c'est génial, cété tout con,et ça marche !!! merci c vrai que vu comme ça c'était tout bête, mais y'a des fois je vous jure merci Sarc, merci je vais faire une sieste pour finir de coder ça sur mon nouveau projet de commerce électronique... encore merci ps : je reviendrai Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 28 Avril 2005 Partager Posté 28 Avril 2005 Bah merci, je vais me spécialiser dans les trucs tout cons pour aider les génies Enfin bon, content de te permettre une sieste A bientôt lol Lien vers le commentaire Partager sur d’autres sites More sharing options...
Toucouleur Posté 28 Avril 2005 Auteur Partager Posté 28 Avril 2005 pardon, je suis désolé je ne voulais surtout pas te véxer... je ne suis pas un génie, mais le code n'était en effet pas compliqué, mais je prenais le problème dans le mauvais sens. encore merci Très sincèrement Cédric Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sarc Posté 28 Avril 2005 Partager Posté 28 Avril 2005 Je suis pas vexé du tout, je faisais de l'humour lol... Il arrive effectivement qu'on fasse un code compliqué alors qu'il serait si simple de le faire autrement... C'est ça la magie de la prog Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant