Logischer Fehler?
hallo zusammen
ich hab eine MYSQL Abfrage die richtig funktioniert:
mysql_select_db($database_fcbdi_admin, $fcbdi_admin);
$query_Recordset1 = sprintf("SELECT mitglieder.mit_id, mitglieder.nachname, mitglieder.vorname,mitglieder.strasse, mitglieder.ort, mitglieder.mobile, mitglieder.email, mitglieder.kategorie, mitglieder.team, mitglieder.austritt, mitglieder.bfrei
FROM mitglieder
WHERE mitglieder.nachname LIKE %s AND mitglieder.austritt >= current_date() ORDER BY mitglieder.nachname, mitglieder.vorname",
GetSQLValueString($such_nachname_Recordset1, "text")); // such_string für nachname
Wenn ich aber noch 2 weitere Felder für die Suche einschliesen klappt alles bis auf die "AND Bedienung"
mysql_select_db($database_fcbdi_admin, $fcbdi_admin);
$query_Recordset1 = sprintf("SELECT mitglieder.mit_id, mitglieder.nachname, mitglieder.vorname, mitglieder.strasse, mitglieder.ort, mitglieder.mobile, mitglieder.email, mitglieder.kategorie, mitglieder.team, mitglieder.austritt, mitglieder.bfrei
FROM mitglieder
WHERE mitglieder.nachname LIKE %s OR mitglieder.vorname Like %s OR mitglieder.ort Like %s AND mitglieder.austritt >= current_date() ORDER BY mitglieder.nachname, mitglieder.vorname",
GetSQLValueString($such_nachname_Recordset1, "text"), // such_string für den Nachnamen
GetSQLValueString($such_nachname_Recordset1, "text"), // such_string für den Vornamen
GetSQLValueString($such_nachname_Recordset1, "text")); // such_string für den Ort
Es werden alle Mitglieder angezeigt auch diejenigen denen der Mitglieder.austritt in der Vergangenheit liegt.
Ich verstehe es so, dass die zuerst alle "OR Bedingungen" geprüft werden und anschliessend immer die "AND Bedienung".
Danke für Hilfe
Peter
|