or/und Bedingung
andreas
- php
Hallo
Habe zwei Checkboxen
Je nach dem welche Checkbox markiert ist erhalte ich,
beim Formular senden ein passende Ergbnis aus der DB.
Dies dient dafür um eine Selektion genauer zu definieren
keine Checkbox erhalte ich alle Angaben
wenn jeweils nur eine Checkbox markiert ist,
erhalte ich auch immer das passende Ergebniss dazu.
Wenn ich beide markiere, erhalte ich nichts obwohl passende Datensätze dafür vorhanden sind.
2 Variablen die übergeben werden
$zeile["farben"] //Inhalt: blau, grün, weiss, schwarz, gelb...
$zeile["zusatz"] //Inhalt: 10120, 12450, 84574, 12548...
2 Checkboxen:
<input type='checkbox' name='sfarben'>
<input type='checkbox' name='szusatz'>
Script:
if($action == "suchen")
{
$where_counter=0;
if (isset($sfarben))
{
$data=split(",", $zeile["farben"]);
foreach($data as $value1)
{
$value2=ereg_replace(",","",$value1);
if ($where_counter != 0)
{
$where .= " or ziel_farben LIKE '%".$value2."%'";
} else {
$where .= " where ziel_farben LIKE '%".$value2."%'";
$where_counter++;
}
}
}
das gleiche für $szusatz
...
2. Select:
$result = mysql_query("SELECT * FROM $tabelle ".$where);
...
So wenn ich die Daten einzeln übergeben sieht es wie folgt aus:
$where = ziel_farben LIKE '%blau%' or '%grün%' or '%weiss%' or '%schwarz%' or ...
wenn ich jetzt das or austausche in und dann wie folgt:
$where = ziel_farben LIKE '%blau%' und '%grün%' und '%weiss%' und '%schwarz%' und ...
Das will ich nicht, wie kann ich aber jetzt beide Felder in eine UND Bedingung setzen,
unabhängig von der Umwandlung.
theoretisch
(SELECT * FROM $table ".$where1." and ".$where2);
wer hat das kapiert?
wer hätte eine Idee?
Danke
Andreas
Huhu Andreas
wer hat das kapiert?
ich nicht wirklich ...
wer hätte eine Idee?
die Ausdrücke Klammern, ungefähr so:
(f1 = 'a' OR f1 = 'b') AND (f2 = 'gelb' OR f2 = 'rot')
Viele Grüße
lulu
Hi
die Ausdrücke Klammern, ungefähr so:
(f1 = 'a' OR f1 = 'b') AND (f2 = 'gelb' OR f2 = 'rot')
das ist doch das gleiche oder
(SELECT * FROM $table ".$where1." and ".$where2);