Help pour calcul prix degressif en php [Résolu]

pocalypse 19 Messages postés samedi 20 septembre 2008Date d'inscription 11 décembre 2008 Dernière intervention - 31 oct. 2008 à 02:24 - Dernière réponse : pocalypse 19 Messages postés samedi 20 septembre 2008Date d'inscription 11 décembre 2008 Dernière intervention
- 31 oct. 2008 à 12:33
bonsoir a tous et toutes.
j'ai un petit probleme.
voila je voudrais integrer à mon calcul un tarif degressif en fonction de la quantité.
donc le calcul de base c'est $pu*quantité.

à savoir:
quantité=1 ==> prix total à 100%
quantité=2 ==> prix total -5%
quantité=3 ==> prix total -8%
quantité=4 ==> prix total -10%
quantité=5 ==> prix total -15%
quantité=6 ==> prix total -18%
quantité=>7 ==> prix total -23%

le petit bout de code :

function getPrixTotal()
{
$pu=$this->getPrixUnitaire();
if($pu<0)return $pu;
return $pu*$this->quantite;
}

merci de votre aide
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_aKheNathOn 575 Messages postés dimanche 23 décembre 2001Date d'inscription 23 octobre 2012 Dernière intervention - 31 oct. 2008 à 12:05
3
Merci
Je te donne la fonction mais ce n'est pas le but du forum - il est destiné aux développeurs. Va falloir s'y mettre

function getPrixTotal() {
  $pu=$this->getPrixUnitaire();
  if($pu<0) return $pu;
  $prix_total = $pu*$this->quantite;
  $remise = 0;
  switch($this->quantite) {
  case 2:
    $remise = 0.05;
    break;
  case 3:
    $remise = 0.08;
    break;
  case 4:

    $remise = 0.1;

    break;
  case 5:

    $remise = 0.15;

    break;

  case 6:

    $remise = 0.18;

    break;

  default:
    if ($this->quantite > 6) $remise = 0.23;

    break;
  }
  $montant_remise = $prix_total * $remise;
  return $prix_total - $montant_remise;
}

aKheNAtHoN

Merci cs_aKheNathOn 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_aKheNathOn
cs_aKheNathOn 575 Messages postés dimanche 23 décembre 2001Date d'inscription 23 octobre 2012 Dernière intervention - 31 oct. 2008 à 09:58
0
Merci
Ben c'est évident que tu utilises un switch mais bon à 2h du mat dur dur de se concentrer :)

au cas où tu connaitrais pas la syntaxe :
$remise = 0;
switch($this->quantite) {
  case 2:
    $remise = 0.05;
    break;
  case 3:

    $remise = 0.08;

    break;
  ...

}

puis tu calcule le montant de la remise :

$prix_total = $pu*$this->quantite;
$montant_remise = $prix_total * $remise;
return $prix_total - $montant_remise;

aKheNAtHoN
Commenter la réponse de cs_aKheNathOn
pocalypse 19 Messages postés samedi 20 septembre 2008Date d'inscription 11 décembre 2008 Dernière intervention - 31 oct. 2008 à 11:53
0
Merci
aKheNathOn , bonjour et merci pour la réponse qui a l'air concrète ;)
cela dit ce n'est pas mon manque d'inspiration qui me fait defaut à 2h30 du mat' c'est mon ignorance !!!
je connais à peine le php. moi le gros du boulot que j'ai fait sur mon site c'est le visuel. le php c'est un ami qui s'en est chargé et celui-ci est parti pour 2 mois.
et evidemment j'ai oublié de lui demandé d'integrer cette formule.
donc, comment j'integre ta réponse dans mon code s'il te plait ?
je dois mettre ton bout de code (et le compléter) après :
return $pu*$this->quantite;

merci de ton aide.
Commenter la réponse de pocalypse
pocalypse 19 Messages postés samedi 20 septembre 2008Date d'inscription 11 décembre 2008 Dernière intervention - 31 oct. 2008 à 12:33
0
Merci
je fais ce que je peux akhenathon...
moi à la base je suis pas codeur mais j'apprend vite (du moins j'essaie).
avec ce que tu viens de me faire je viens d'apprendre la fonction switch. c'est cool.
merci pour ton aide. rapide claire et concise et fonctionnelle. que du bonheur !
et promis, je vais m'y mettre.

++
christophe
Commenter la réponse de pocalypse

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.