• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

DropDown Auswahl als SQL Suche formulieren

srep

Neues Mitglied
Ich habe 3 DropDown Felder:

Automarken:
ALLE
BMW
AUDI
etc....
----------
Typ:
ALLE
SUV
KOMBI
etc...
----------
Farbe:
ALLE
Grün
Blau
ROT
etc...

Wenn ich eine Suche testen will, wo ich die Marke BMW wähle und als Typ SUV, aber alle Farben angezeigt bekommen will.

Wie definier ich in der SQL Suche, dass ich alle Farben angezeigt bekommen will, wenn ich im DropDown ALLE wähle

SELECT * FROM tabelle WHERE Marke="BMW" AND TYP="SUV" and Farbe="*" ??
 
Wie machst du das denn, wenn du bei Marke "Alle" stehen hast, ist doch das gleiche Prinzip. Wenn "Alle" ausgewählt wurde, lässt du einfach die Bedingung im Select weg.
 
Ich arbeite mit Variablen, die Auswahl wird in Variablen gespeichert. Dies funktiert auch sehr gut.
Aber bei der Suche läuft es gerade nicht.

Meine Suche ist im Moment so:

SELECT * FROM tabelle WHERE Marke="$Uservariable" AND TYP="$Uservariable" and Farbe="$Uservariable"

Dies funktioniert auf der Webseite nicht, wenn ein User sagt ich möchte mich nicht speziel auf eine Marke und/oder Typ und/oder Farbe festlegen
 
Deshalb sage ich doch, wenn bei einer Kategorie "Alle" gewählt wurde, darfst du das nicht in die Bedingung aufnehmen.
Grobes Beispiel:
PHP:
<?php
    $query = "Select
                `Marke`,
                `Typ`,
                `Farbe`
               from
                `tabelle`";
              
    $conditions = array();
  
    if ($_POST['Marke'] != 'Alle')
      $conditions[] = "`Marke`='" . $_POST['Marke'] . "'";
    
    if ($_POST['Typ'] != 'Alle')
      $conditions[] = "`Typ`='" . $_POST['Typ'] . "'";
    
    if ($_POST['Farbe'] != 'Alle')
      $conditions[] = "`Farbe`='" . $_POST['Farbe'] . "'";
    
    if (count($conditions))
      $query .= " where " . implode(" and ", $conditions);
?>
 
Zuletzt bearbeitet von einem Moderator:
Vielen Dank bdt600

Ich wusste nicht wie man das umsetzen konnte. Ich werde dies heute mal ausprobieren !
 
Zurück
Oben