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

Messages postés
19
Date d'inscription
samedi 20 septembre 2008
Dernière intervention
11 décembre 2008
- - Dernière réponse : pocalypse
Messages postés
19
Date d'inscription
samedi 20 septembre 2008
Dernière intervention
11 décembre 2008
- 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
Messages postés
575
Date d'inscription
dimanche 23 décembre 2001
Dernière intervention
23 octobre 2012
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_aKheNathOn
Messages postés
575
Date d'inscription
dimanche 23 décembre 2001
Dernière intervention
23 octobre 2012
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
Messages postés
19
Date d'inscription
samedi 20 septembre 2008
Dernière intervention
11 décembre 2008
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
Messages postés
19
Date d'inscription
samedi 20 septembre 2008
Dernière intervention
11 décembre 2008
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.