Erstellen einer dynamischen such-Abfrage mit PHP und MySQL

Ich versuche zu erstellen, die eine dynamische Suchabfrage auf der Grundlage der Benutzereingabe.

Anforderungen:

  • Könnte ein Benutzer füllen Sie keine, einige, oder alle Felder.
  • Die Abfrage sucht in einer Tabelle nach einem Datensatz entspricht allen Anforderungen.

Nun ich habe meine Forschung getan, und ich fand heraus, mehrere Möglichkeiten, dies zu tun. Aber keiner von Ihnen arbeiten, und wenn Sie es tun, Sie sind weit entfernt von der Praxis.

Versuch:

Im moment mache ich eine Abfrage erstellen, wie diese:

SELECT * 
FROM assignments 
WHERE (id = $id OR id = '') 
  AND (field1 = $field1 OR field1 = '')

Diese Abfrage funktioniert, aber nur, wenn Sie alle Felder ausfüllen.

Ich habe diese aus einem stackoverflow-Artikel, das kann ich nicht mehr gefunden, das sagte:

Wenn der Benutzer ausgefüllt hat in einem Eingabefeld überprüfen Sie die erste Regel
"id = " $input"
und wenn der Benutzer nicht angegeben die Eingabe überprüfen "id = "" und wenn es
prüft, dass, es wird einfach alles zurück. Da entgeht der leere such-Regel.

Aber wie Sie vielleicht bereits wissen, es funktioniert nicht..

Wie würden Sie mir empfehlen, um diesen Ansatz?

InformationsquelleAutor andy | 2014-08-11
Schreibe einen Kommentar