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-elseif-else klappt nicht - Fehler gefunden :) (https://www.gegen-bilderklau.net/thread.php?threadid=170157)


Geschrieben von stogadis am 31.03.2010 um 18:25:

  If-elseif-else klappt nicht - Fehler gefunden :)

So grad reichts mir großes Grinsen Ich brauch hilfe.

Ich öffne eine Seite und gebe ihr die Informationen rasse=blablala und status=blablabla. Öffnen möchte ich entweder:
1. alle Hannoveranerhengste
code:
1:
2:
3:
4:
5:
if($_GET[rasse] = 'Hannoveraner')
    {
    $sql = "SELECT * FROM pferde WHERE besitzer like '$_GET[name]' AND rasse = '$rasse'AND status = '$_GET[status]' ORDER BY name";
    $result= mysql_query($sql);
     }

2. alle Fjordhengste:
code:
1:
2:
3:
4:
5:
6:
if($_GET[rasse] = 'Fjordpferd')
    {

    $sql = "SELECT * FROM pferde WHERE besitzer like '$_GET[name]' AND rasse = '$rasse'AND status = '$_GET[status]' ORDER BY name";
    $result= mysql_query($sql);
     }

3. oder alle anderen Hengste:
code:
1:
2:
3:
4:
if($_GET[rasse] = 'Sonstige')
    { $sql = "SELECT * FROM pferde WHERE besitzer like '$_GET[name]' AND rasse != 'Haflinger' AND rasse != 'Hannoveraner' AND status = '$_GET[status]' ORDER BY name";
    $result= mysql_query($sql);
     }



Diese 3 if-Abfragen klappen einzelne alle wunderhübsch.
Wenn ich die jetzt aber kombiniere klappen auf einmal nurnoch die ersten 2 ???

Komplette Code:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
if($_GET[rasse] = 'Hannoveraner')
    {

    $sql = "SELECT * FROM pferde WHERE besitzer like '$_GET[name]' AND rasse = '$rasse'AND status = '$_GET[status]' ORDER BY name";
    $result= mysql_query($sql);
     }
elseif($_GET[rasse] = 'Fjordpferd')
    {

    $sql = "SELECT * FROM pferde WHERE besitzer like '$_GET[name]' AND rasse = '$rasse'AND status = '$_GET[status]' ORDER BY name";
    $result= mysql_query($sql);
     }
elseif($_GET[rasse] = 'Sonstige')
    {

    $sql = "SELECT * FROM pferde WHERE besitzer like '$_GET[name]' AND rasse != 'Haflinger' AND rasse != 'Hannoveraner' AND status = '$_GET[status]' ORDER BY name";
    $result= mysql_query($sql);
     }


Dazu gehörige Seite:
Rasse Hannoveraner
Rasse Fjordpferd
Rasse Sonstige
In allen Kategorien sind Pferde drin aber die Sonstigen werden nicht angezeigt. Wieso? Wenn ich die beiden oberen Abfragen lösche klappt die "Sonstige"-Abfrage allein einwandfrei verwirrt


EDIT:
Es klappt auch nicht wenn ich die letzte elseif bedingung einfach nur durch else ersetze ^^



Geschrieben von .Dori am 31.03.2010 um 19:00:

 

Wenn ich dich richtig verstehe möchtest du Hannoveraner und Norweger gesondert und alle anderen Pferde unter Sonstiges oder?
Dann könnte es daran liegen, dass du in der 3. If Abfrage Haflinger anstatt Norweger verbietet.



Geschrieben von Stelo am 31.03.2010 um 19:04:

 

Ich beziehe mich jetzt nur auf die if-Bedingungen:
php:
1:
$_GET['Wert']

Also zum einen kannst du ja mal versuchen die Hochkommas beim GET mit reinzunehmen.

Und zweitens vergleicht man bei PHP doch so weit ich weiß mit "==" und weißt Werte mit "=" zu.



Geschrieben von Verena1993 am 31.03.2010 um 19:05:

 

und wenn du nach dem zweiten elseif einfach noch ein else dranhängst?

also iwie "ansonsten zeige an, dass keine pferde vorhanden"?

PS bin kein Profi, ganz im gegenteil, aber vllt funzts Augenzwinkern



Geschrieben von stogadis am 31.03.2010 um 21:32:

 

Zitat:
Original von Stelo
Und zweitens vergleicht man bei PHP doch so weit ich weiß mit "==" und weißt Werte mit "=" zu.



Mhm, da lags. Jetz klappt alles fröhlich
Dankee


Forensoftware: Burning Board, entwickelt von WoltLab GmbH