Help pour calcul prix degressif en php

Résolu
pocalypse Messages postés 19 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 11 décembre 2008 - 31 oct. 2008 à 02:24
pocalypse Messages postés 19 Date d'inscription samedi 20 septembre 2008 Statut Membre 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

4 réponses

cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
31 oct. 2008 à 12:05
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
3
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
31 oct. 2008 à 09:58
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
0
pocalypse Messages postés 19 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 11 décembre 2008
31 oct. 2008 à 11:53
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.
0
pocalypse Messages postés 19 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 11 décembre 2008
31 oct. 2008 à 12:33
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
0
Rejoignez-nous