Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] if() mit mehreren Angaben (https://www.gegen-bilderklau.net/thread.php?threadid=166403)
Geschrieben von Startpost-Retter am 26.12.2009 um 22:13:
if() mit mehreren Angaben
Hallo,
ich habe folgenden Code ausprobiert, doch weiß ich nicht wirklich warum das Ganze so nicht klappt. Darf man in einer IF()-Anweisung nochmals Klammern benutzen?
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:
|
if(($ausbildungswunsch == 'Muskelaufbau') OR
($ausbildung == 'roh' AND $ausbildungswunsch == 'Einreiten' AND $alter > '2') OR
($ausbildung == 'DressurE' AND $ausbildungswunsch == 'DressurA' AND $alter > '3') OR
($ausbildung == 'DressurA' AND $ausbildungswunsch == 'DressurL' AND $alter > '4') OR
($ausbildung == 'DressurL' AND $ausbildungswunsch == 'DressurM' AND $alter > '5') OR
($ausbildung == 'DressurM' AND $ausbildungswunsch == 'DressurS' AND $alter > '6') OR
($ausbildung == 'DressurS' AND $ausbildungswunsch == 'GranPrix' AND $alter > '7') OR
($ausbildung == 'ungesprungen' AND $ausbildungswunsch == 'Springen E' AND $alter > '3') OR
($ausbildung == 'SpringenE' AND $ausbildungswunsch == 'SpringenA' AND $alter > '4') OR
($ausbildung == 'SpringenA' AND $ausbildungswunsch == 'SpringenL' AND $alter > '5') OR
($ausbildung == 'SpringenL' AND $ausbildungswunsch == 'SpringenM' AND $alter > '6') OR
($ausbildung == 'SpringenM' AND $ausbildungswunsch == 'SpringenS' AND $alter > '7') OR
($ausbildung == 'ungesprungen' AND $ausbildungswunsch == 'MilitaryE' AND $alter > '3') OR
($ausbildung == 'MilitaryE' AND $ausbildungswunsch == 'MilitaryA' AND $alter > '4') OR
($ausbildung == 'MilitaryA' AND $ausbildungswunsch == 'MilitaryL' AND $alter > '5') OR
($ausbildung == 'MilitaryL' AND $ausbildungswunsch == 'MilitaryM' AND $alter > '6') OR
($ausbildung == 'MilitaryM' AND $ausbildungswunsch == 'MilitaryS' AND $alter > '7')){
echo"sollte klappen :D";
}
else{
echo"NÖ";
} |
|
Leer sind die Variablen nicht.
Geschrieben von Stelo am 26.12.2009 um 22:17:
Wow!
Und du findest dafür keine andere Lösung? Das ist schon irgendwie beeindruckend.
Ähm .. ja, also wenn keine Fehlermeldung kommt, müsstest du das schon dürfen?!

Warum ist denn um die erste Abfrage auch eine Klammer? Ist ja nur eine Bedingung. Na ja, aber das wird wohl kaum helfen.
Hast du das ganze schon mal weniger Kompliziert getestet? Mal nur mit Zahlen oder so und nur 3 Unterscheidungen? Ich bin leider gerade viel zu müde , um das zu tun, sorry.
Geschrieben von Black Katrin am 26.12.2009 um 23:03:
setzt mal hinter die > ueberall nen = und guck obs dann geht, ich kann mich wage erinnern das man > nicht alleine stehen lasen kann. versuchs, wenns geht gehts, wenn nit muss man den fehler weiter suchen
Geschrieben von Julia712 am 26.12.2009 um 23:48:
Nöö, > kann man auch alleine schreiben. Ist ja auch logisch, weil man manchmal nach größer und nicht nach 'größer/gleich' prüfen möchte
Es liegt aber an deinem Klammerchaos
Du musst um jede Bedingung eine Klammer setzen, den Fehler hab ich letztens auch gesucht
Also:
php: |
1:
2:
|
if(($ausbildungswunsch == 'Muskelaufbau') OR
(($ausbildung == 'roh') AND ($ausbildungswunsch == 'Einreiten') AND ($alter > '2')) OR... |
|
Lg, Julia
Forensoftware: Burning Board, entwickelt von WoltLab GmbH