Hi,
bei mir ist folgendes Problem aufgetreten:
Ich habe eine Suchfunktion welche mit AND,OR,NOT arbeitet und in mehreren Feldern sucht.
Sieht dann so aus:
Jetzt sollte er ja alle Einträge finden, welche das Wort "freunde" enthalten, aber nicht das Wort "bekannte",
Aber genau das macht er nicht! Er zeigt trotzdem allemit "freunde" an.
Sobald ich das ganze auf eine Spalte begrenze funktioniert es.
Es liegt also an dem OR zwischendrinn! So, ersetz ich das durch AND, müsste ja jede Spalte das Wort enthalten, was aber wiederrum für meine Suche falsch wäre!
Mir fällt grade echt nix ein...
Wisst ihr, was ich da machen kann?
Danke
bei mir ist folgendes Problem aufgetreten:
Ich habe eine Suchfunktion welche mit AND,OR,NOT arbeitet und in mehreren Feldern sucht.
Sieht dann so aus:
PHP-Code:
echo "SELECT * FROM sieg_objekte WHERE status='1'
AND (
(
LOWER(name LIKE '%freunde%')
OR LOWER(objekt_beschreibung LIKE '%freunde%')
OR LOWER(objekt_kurzbeschreibung LIKE '%freunde%')
)
AND (
LOWER(name NOT LIKE '%bekannte%')
OR LOWER(objekt_beschreibung NOT LIKE '%bekannte%')
OR LOWER(objekt_kurzbeschreibung NOT LIKE '%bekannte%')
)
AND (
rubrik LIKE '%'
OR bereich LIKE '%'
)
) order by name";
Aber genau das macht er nicht! Er zeigt trotzdem allemit "freunde" an.
Sobald ich das ganze auf eine Spalte begrenze funktioniert es.
Es liegt also an dem OR zwischendrinn! So, ersetz ich das durch AND, müsste ja jede Spalte das Wort enthalten, was aber wiederrum für meine Suche falsch wäre!
Mir fällt grade echt nix ein...
Wisst ihr, was ich da machen kann?
Danke
Kommentar