[PHP] Datenbank durchsuchen.

Dieses Thema im Forum "Webentwicklung" wurde erstellt von dreamax, 18. März 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 18. März 2010
    Datenbank durchsuchen.

    Hallo,

    ich schreibe derzeit für einen Bekannten (der Autoverkäufer ist) ein kleines Skript mithilfe er alle Angebote in eine Datenbank eintragen kann und Kunden dann sich den Auto-Katalog online ansehen können. Hier hab ich nun ein Problem und zwar hätte mein Bekannter gerne auch eine Suchfunktion bei der man nach verschiedenen Kriterien suchen kann. Und zwar soll nach Fahrzeug-Modell(z.b. M5) nach Fahrzeugtyp(z.b. Cabrio, Van) BauJahr (z.b. 1995) und nach der Marke suchbar sein. Je mehr Angaben der Benutzer macht desto genauer soll natürlich die Suche erfolgen. So würden bei der such nach Cabrios der Marke XY aus dem Jahr Z natürlich nur diese angezeigt werden. Mein Problem ist nun die Umsetzung bzw die mysql_query.

    habe folgendes versucht, was jedoch immer alle Einträge der Datenbank ausgibt wenn ein Feld leer gelassen wir.. Achso um noch etwas zu sagen das Modell ist ein Textfeld, die Marke ist ein Textfeld, Das Baujahr und der Typ jeweils eine Select box.:

    PHP:
    $sql = mysql_query ( 'SELECT * FROM `autos` WHERE
    `modell` LIKE "%'
    . mysql_real_escape_string ( $_POST [ 'modell' ]). '%" OR
    `marke` LIKE "%'
    . mysql_real_escape_string ( $_POST [ 'marke' ]). '%" OR
    `baujahr` = "'
    . mysql_real_escape_string ( $_POST [ 'baujahr' ]). '" OR
    `typ`= "'
    . mysql_real_escape_string ( $_POST [ 'typ' ]). '"
    '
    );
    Mein Problem ist jetzt das wenn ich z.b. nur ein Baujahr auswähle er mir trotzdem alle Einträge ausgibt. Verknüpfe ich nun bei der Query alle WHERE ausdrücke mit AND gibt er mir gar nichts mehr aus.

    hoffe auf schnelle Hilfe

    mfg
     
  2. 18. März 2010
    AW: Datenbank durchsuchen.

    Dann musst du dir den Query halt zusammenbauen, um nur die Sachen abzufragen, die auch eingegeben wurden.
     
  3. 18. März 2010
    AW: Datenbank durchsuchen.

    würd ich auch so machen.

    also ne if abfrage, und wenn die erfüllt ist bekommt $sql die nächste Abfrage angehänt. das ganze dann aber mit nem "und" verbinden und nicht mit "oder".
     
  4. 19. März 2010
    AW: Datenbank durchsuchen.

    okay.. dachte es gäbe vllt ne sauberere lösung als 5 if abfragen..
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.