deshalb die IF abfrage
SELECT * FROM table WHERE staat=2
dann kommen die Datensätze
if, titel, staat, stadt
1 hallo 2 5
2 huhuh 2 4wenn aber staat=0 ist
sollen eben alle Datensätze kommen
Wie im Ansatz schon geschrieben: Prüfe PHP-seitig $staat > 0 und führe den entsprechenden SQL-Befehl aus:
if ($staat > 0) {
machsql("select * from tabelle where staat=" . $staat);
}
else {
machsql("select * from tabelle");
}
Dein Versuch, die Prüfung in die Datenbank auszulagern, läuft im Falle von $staat <= 0 auf den SQL-Befehl "select * from tabelle where true" hinaus. Eine where-Klausel, deren Ergebnis von vornherein feststeht (nämlich "ja"), ist überflüssig. Vermeide sie.