Probleem met if/elseif

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roel H

Roel H

03/10/2013 15:52:55
Quote Anchor link
Hallo,

Ik heb dit stukje
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;

?>


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?
 
PHP hulp

PHP hulp

21/11/2024 19:17:43
 
- Mark -

- Mark -

03/10/2013 16:05:29
Quote Anchor link
Waar komt $aantalproeven vandaan? Als deze 0 is in plaats van de verwachte twee dan word het inderdaad 7.50 inplaats van 22.50.
 
Kris Peeters

Kris Peeters

03/10/2013 16:06:31
Quote Anchor link
Al eens aan gedacht om met accolades te werken?
Dat lijkt me minder verwarrend

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
        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;
        }
...

?>
Gewijzigd op 03/10/2013 16:07:11 door Kris Peeters
 
Q S

Q S

03/10/2013 16:26:26
Quote Anchor link
Even wat gepield, volgens mij wat duidelijker en beter te onderhouden

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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

}
?>
 
Roel H

Roel H

03/10/2013 17:02:13
Quote Anchor link
$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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.