Dynamische MySQL Suche

Pezi

Grünschnabel
Hallo

Ich habe eine Datenbank in der ich verschiedene Autos speichere. Nun möchte ich eine Suche integrieren. Bis jetzt kann ich nur eine Option auswählen. Ich Möchte aber gern dass ich nach mehreren Kriterien suchen kann, wie zB. Modell und Preis.

Hier mein Code bis jetzt:

PHP:
$sql = "SELECT " .
        "id, marke, modell, preis, jahr, km, email, klima, verzollung, ort, kraftstoff, ps, beschreibung, bild1, bild2, bild3, bild4 " .
    "FROM " .
        "cars " ;       
    if ($marke != "") {
        $sql .= "WHERE `marke` LIKE '%" . mysql_real_escape_string($marke) . "%' ";
    }
    if ($modell != "") {
        $sql .= "AND `modell` LIKE '%" . mysql_real_escape_string($modell) . "%' ";
    } 
    if ($jahr != "") {
        $sql .= "AND `jahr` <= '" . mysql_real_escape_string($jahr) . "' ";
    } 
    if ($ort != "") {
        $sql .= "AND `ort` LIKE '%" . mysql_real_escape_string($ort) . "%' ";
    } 
    if ($kraftstoff != "") {
        $sql .= "AND `kraftstoff` LIKE '" . mysql_real_escape_string($kraftstoff) . "' ";
    } 
    if ($preis != "") {
        $sql .= "AND `preis` <= '" . mysql_real_escape_string($preis) . "' ";
    } 
    if($marke == "" || $modell == "" || $jahr == "" || $ort == "" || $kraftstoff == "" || $preis == "" ) {
        $sql .= "WHERE " .
            "status = 'activated' ";                    
        } else {
            $sql .= "AND " .
                "status = 'activated' "; 
        }   
    $sql .= "ORDER by `id` DESC";


Weiterhin habe ich noch ein Problem mit Sonderzeichen. Einige Städte sind serbisch und haben Sonderzeichen drin. In die Datenbank werden sie richtig gespeichert, doch wenn ich sie wieder abfrage kommt anstatt ç dies ç. Wie kann ich das ändern?

Gruß

Pezi
 
Zurück