Avatar billede blackscorpion Nybegynder
09. marts 2007 - 22:10 Der er 6 kommentarer og
1 løsning

Pris udregning.

Hej E.

Har en lidt speciel request.

har følgende: 1 vare koster 4 kroner.

og der er tilbud på 3 til 10 kroner.

hvis kunden nu har tilføjet f.eks. 17 varer.

Hvordan får jeg den så til at regne ud at det bliver:

20 for de 15, og 6 kroner for de 2 sidste, altså 26 kroner i alt ?
Avatar billede blackscorpion Nybegynder
09. marts 2007 - 22:15 #1
spekulere lidt i noget ala:

// noget mysql snask her, der får antal varer.

$tilbud = 10;
tilbud_stk = 3;
$pris = "";

if($num < 0) {
for ($i = 1; $i <= $num; $i++) {
  if($num - 3) {
  $pris .= $pris + 10;
  $i = $i + 3;
  }
  else {
  $pris .= $pris + 4;
  $i++;
  }
}
}


Det er så ikke testet, og ved ikke om det virker. :S
Avatar billede blackscorpion Nybegynder
09. marts 2007 - 22:17 #2
if($num > 0) { selvfølgelig.
Avatar billede coderdk Praktikant
09. marts 2007 - 22:25 #3
Normalt fungerer det I butikkerne sådan at hvis 1 koster 4,- og 3 koster 10,- og man køber mere end 3 koster det 10,- plus 10/3 kr for hver vare ud over de 3...
I dit eksempel: 17 varer, 3 for 10 + 14 stk á 3,33 :)

Bare en tanke...
Avatar billede blackscorpion Nybegynder
09. marts 2007 - 22:26 #4
ja men i mit tilfælde, får de tilbud på de 15, altså 20 kroner, og fuld pris for de sidste 2.

hvordan ville det se ud i php ? ;)
Avatar billede blackscorpion Nybegynder
09. marts 2007 - 22:36 #5
Kode :
<?php

$antal = 17;
$tilbud = 10;
$tilbud_stk = 3;
$stk_pris = 4;
$pris = 0;

if($antal > 0) {
$i = 1;
}
else {
$i = 0;
}

while($i <= $antal) {
 
  if($antal-3 > 0) {
  $pris .= $pris + $tilbud;
  echo $pris."<br>\n";
  $i = $i + 3;
  $antal = $antal-3;
  }
  else {
  $pris .= $pris + $stk_pris;
  $i++;
  $antal = $antal--;
  }
}

echo "Antal Varer : " . $antal . "<br>\n";
echo "Pris : " . $pris . "<br>\n";

?>

Output:
010
01020
010201030
Antal Varer : 8
Pris : 010201030

Kommentar:

Det her fatter jeg hat og briller af...
Avatar billede blackscorpion Nybegynder
09. marts 2007 - 23:38 #6
Det holdt hårdt... men her er løsningen:

<?php

$antal = 6;
echo "Antal : " . $antal . "<br>\n";
$tilbud = 10;
$tilbud_stk = 3;
$stk_pris = 4;
$pris = $antal * $stk_pris;

$antal_tilbage = $antal % $tilbud_stk;

if($antal_tilbage > 0) {
  $antal = $antal - $antal_tilbage;
  $antal = $antal / $tilbud_stk;
  $antal = $tilbud * $antal;
  $rest = $antal_tilbage * $stk_pris;
  $pris = $antal + $rest;
}
else {
$pris = ($antal / $tilbud_stk) * $tilbud;
}

echo "PRIS : " . $pris;

?>
Avatar billede blackscorpion Nybegynder
10. marts 2007 - 00:06 #7
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester