Korting berekenen - Voorseizoen / Naseizoen
Ik zou het zo doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$prijs_per_nacht = 19.40;
$dag = strtotime($_POST['aankomstdatum']);
$vertrekdatum = strtotime($_POST['vertrekdatum']);
$begin_voorseizoen = strtotime(2011-04-01);
$einde_voorseizoen = strtotime(2011-05-01);
$begin_naseizoen = strtotime(2011-09-01);
$einde_naseizoen = strtotime(2011-10-01);
while($dag <= $vertrekdatum){
if($dag >= $begin_voorseizoen && $dag <= $einde_voorseizoen)
{
$totaalbedrag = $totaalbedrag + ($prijs_per_nacht * 0.8);
$dag = $dag + 86400;
}
elseif($dag >= $begin_naseizoen && $dag <= $einde_naseizoen)
{
$totaalbedrag = $totaalbedrag + ($prijs_per_nacht * 0.8);
$dag = $dag + 86400;
}
else
{
$totaalbedrag = $totaalbedrag + $prijs_per_nacht;
$dag = $dag + 86400;
}
}
?>
$prijs_per_nacht = 19.40;
$dag = strtotime($_POST['aankomstdatum']);
$vertrekdatum = strtotime($_POST['vertrekdatum']);
$begin_voorseizoen = strtotime(2011-04-01);
$einde_voorseizoen = strtotime(2011-05-01);
$begin_naseizoen = strtotime(2011-09-01);
$einde_naseizoen = strtotime(2011-10-01);
while($dag <= $vertrekdatum){
if($dag >= $begin_voorseizoen && $dag <= $einde_voorseizoen)
{
$totaalbedrag = $totaalbedrag + ($prijs_per_nacht * 0.8);
$dag = $dag + 86400;
}
elseif($dag >= $begin_naseizoen && $dag <= $einde_naseizoen)
{
$totaalbedrag = $totaalbedrag + ($prijs_per_nacht * 0.8);
$dag = $dag + 86400;
}
else
{
$totaalbedrag = $totaalbedrag + $prijs_per_nacht;
$dag = $dag + 86400;
}
}
?>
Dit werkt niet, heeft iemand een betere oplossing?
En aan een opmerking dat het niet werkt hebben we natuurlijk niets!! Toon aan wat er niet werkt.
Noppes Homeland op 06/07/2011 19:55:30:
Als je het op deze manier gaat aanpakken dan kan je er beter mee stoppen.
Waarom niet?
Noppes Homeland op 06/07/2011 19:55:30:
En aan een opmerking dat het niet werkt hebben we natuurlijk niets!! Toon aan wat er niet werkt.
Als ik wist wat er fout gaat, dan kon ik het zelf wel oplossen.
Moet while wel een while zijn en niet een if? en met dit script werkt het alleen voor 2011
Bas IJzelendoorn op 06/07/2011 20:23:01:
In het while loopje test hij per dag of de dag binnen of buiten de korting periode valt.Moet while wel een while zijn en niet een if? en met dit script werkt het alleen voor 2011
Heeft iemand een idee?
foutmeldingen?
leeg scherm?
berekeningen kloppen niet?
geen php geinstalleerd?
kortom: Geef meer informatie
De berekeningen kloppen niet
Dit is STRINGtotime. Jij hebt geen string. Jij hebt 2011-04-01 en dat is 2006. En daar ga jij een tijd van maken. Tja, dat geeft vast vreemde resultaten.
Je bedoelt waarschijnlijk dit: strtotime('2011-04-01');
Gewijzigd op 08/07/2011 17:05:05 door - SanThe -
Toevoeging op 08/07/2011 17:19:56:
Bedankt, het werkt nu