Probleem met if/elseif
Hallo,
Ik heb dit stukje
Nu heb ik ingevuld dat ik geen lid ben,deelneem aan springen en dressuur 2 proeven en onder de 18 ben
Daar zal de eerste regel uit moeten komen, een bedrag van 22,50
Echter hij geeft 7,50 weer. Wat doe ik hierin fout? Kan iemand me helpen?
Maakt hierin ook de volgorde uit welke if je als eerste zet of niet?
Ik heb dit stukje
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
if($liddah == 'Nee' && $deelnameaan1 == 'springen' && $deelnameaan == 'dressuur' && $gebdatum < 18):
$prijs = (7.50 * $aantalproeven) + 7.50;
elseif($liddah == 'Nee' && $deelnameaan1 == 'springen' && $deelnameaan == 'dressuur'):
echo (9.50 * $aantalproeven) + 7.50;
elseif($liddah == 'Nee' && $deelnameaan == 'dressuur' && $gebdatum < 18):
$prijs = $aantalproeven * 7.50;
elseif($liddah == 'Nee' && $deelnameaan == 'dressuur'):
$prijs = $aantalproeven * 9.50;
elseif($liddah == 'Nee' && $deelnameaan1 == 'springen'):
$prijs = 7.50;
endif;
?>
if($liddah == 'Nee' && $deelnameaan1 == 'springen' && $deelnameaan == 'dressuur' && $gebdatum < 18):
$prijs = (7.50 * $aantalproeven) + 7.50;
elseif($liddah == 'Nee' && $deelnameaan1 == 'springen' && $deelnameaan == 'dressuur'):
echo (9.50 * $aantalproeven) + 7.50;
elseif($liddah == 'Nee' && $deelnameaan == 'dressuur' && $gebdatum < 18):
$prijs = $aantalproeven * 7.50;
elseif($liddah == 'Nee' && $deelnameaan == 'dressuur'):
$prijs = $aantalproeven * 9.50;
elseif($liddah == 'Nee' && $deelnameaan1 == 'springen'):
$prijs = 7.50;
endif;
?>
Nu heb ik ingevuld dat ik geen lid ben,deelneem aan springen en dressuur 2 proeven en onder de 18 ben
Daar zal de eerste regel uit moeten komen, een bedrag van 22,50
Echter hij geeft 7,50 weer. Wat doe ik hierin fout? Kan iemand me helpen?
Maakt hierin ook de volgorde uit welke if je als eerste zet of niet?
Waar komt $aantalproeven vandaan? Als deze 0 is in plaats van de verwachte twee dan word het inderdaad 7.50 inplaats van 22.50.
Al eens aan gedacht om met accolades te werken?
Dat lijkt me minder verwarrend
Dat lijkt me minder verwarrend
Code (php)
Gewijzigd op 03/10/2013 16:07:11 door Kris Peeters
Even wat gepield, volgens mij wat duidelijker en beter te onderhouden
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
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
<?php
if($liddah == 'Nee'){ //geen lid
if($deelnameaan == 'dressuur'){ //wel dressuur
if($gebdatum < 18){ //jonger als 18
$prijs_dressuur == 7.50;
}else{ //ouder als 18
$prijs_dressuur == 9.50;
}
if($aantalproeven != 0){ //check of aantalproeven niet 0 is, anders hoef je dit niet uit te rekenen, of kan je een melding geven
$prijs = $prijs_dressuur * $aantalproeven;
}else{ //aanral proeven niet ingegeven of 0
$prijs = 0;
// geef hier eventueel een melding dat aantalproeven niet is ingevuld
}
if($deelnameaan1 == 'springen'){ //springen is extra bedrag bovenop dressuur
$prijs = $prijs + 7.50;
}
}else{ // geen dressuur
if($deelnameaan1 == 'springen'){
$prijs = 7.50;
}else{
$prijs = 0;
}
}
}else{ //wel lid
// hier kun je de code plaatsen voor mensen die wel lid zijn
}
?>
if($liddah == 'Nee'){ //geen lid
if($deelnameaan == 'dressuur'){ //wel dressuur
if($gebdatum < 18){ //jonger als 18
$prijs_dressuur == 7.50;
}else{ //ouder als 18
$prijs_dressuur == 9.50;
}
if($aantalproeven != 0){ //check of aantalproeven niet 0 is, anders hoef je dit niet uit te rekenen, of kan je een melding geven
$prijs = $prijs_dressuur * $aantalproeven;
}else{ //aanral proeven niet ingegeven of 0
$prijs = 0;
// geef hier eventueel een melding dat aantalproeven niet is ingevuld
}
if($deelnameaan1 == 'springen'){ //springen is extra bedrag bovenop dressuur
$prijs = $prijs + 7.50;
}
}else{ // geen dressuur
if($deelnameaan1 == 'springen'){
$prijs = 7.50;
}else{
$prijs = 0;
}
}
}else{ //wel lid
// hier kun je de code plaatsen voor mensen die wel lid zijn
}
?>
$aantalproeven wordt uit een dropdown gehaald, is 1 of 2.
Maar Q S, dankjewel..niet aan gedacht om het zo te doen. Ik gaat ff prutsen.
@Kris Peeters: Ik las het op php.net, dat het zo kon, vond wel mooier en overzichtelijker dan accolades eigenlijk.
Maar Q S, dankjewel..niet aan gedacht om het zo te doen. Ik gaat ff prutsen.
@Kris Peeters: Ik las het op php.net, dat het zo kon, vond wel mooier en overzichtelijker dan accolades eigenlijk.




