Gürteltier
Grünschnabel
Hallo!
Ich arbeite gerade an einem "System" wo User die gewünschten Merkmale eines Produktes bestimmen und diese dann mit einer MySQL-Datenbank verglichen und anschließend ausgegeben werden sollen. Mein Problem ist nun folgendes. Sobald der erste angegebene Wert übereinstimmt werden alle Einträge mit diesem Wert angezeigt und die anderen Suchkriterien ignoriert.
Z.B. sucht ein Kunde eine Immobilie mit einer Grundstücksfläche von 600 m² und einer Hausgröße von 400 m². Nun wird vor der Ausgabe eine Unter- und Obergrenze mithilfe der angegebenen Werte erstellt. Dann kommt die SELECT - Anweisung und anschließend werden die übereinstimmenden Einträge ausgegeben. Dabei sind aber auch Einträge mit z.B. einer Grundstücksfläche von 600 m² und einer Hausgröße von 200 m² die eigentlich nicht angezeigt werden dürften.
Hier mal die SELECT-Anweisung:
Ich arbeite gerade an einem "System" wo User die gewünschten Merkmale eines Produktes bestimmen und diese dann mit einer MySQL-Datenbank verglichen und anschließend ausgegeben werden sollen. Mein Problem ist nun folgendes. Sobald der erste angegebene Wert übereinstimmt werden alle Einträge mit diesem Wert angezeigt und die anderen Suchkriterien ignoriert.
Z.B. sucht ein Kunde eine Immobilie mit einer Grundstücksfläche von 600 m² und einer Hausgröße von 400 m². Nun wird vor der Ausgabe eine Unter- und Obergrenze mithilfe der angegebenen Werte erstellt. Dann kommt die SELECT - Anweisung und anschließend werden die übereinstimmenden Einträge ausgegeben. Dabei sind aber auch Einträge mit z.B. einer Grundstücksfläche von 600 m² und einer Hausgröße von 200 m² die eigentlich nicht angezeigt werden dürften.
Hier mal die SELECT-Anweisung:
Code:
$sqlab = "SELECT * FROM $table WHERE grundstücksgröße BETWEEN '$gr_k' AND '$gr_g' OR NULL
AND hausgröße BETWEEN '$ha_k' AND '$ha_g' OR NULL
AND zimmer BETWEEN '$zi_k' AND '$zi_g' OR NULL
AND preis BETWEEN '$pr_k' AND '$pr_g' OR NULL
AND dachtyp LIKE '$da' OR NULL
AND steintyp LIKE '$se' OR NULL";