Guten Abend,
ich habe eine Suche auf meiner Seite integriert, die, umso mehr Wörter der User per Space eingetippt, desto größer wird das Ergebnis dazu.
Dies möchte ich aber nicht. Ich möchte es gerne so haben, umso mehr Wörter umso genauer wird die Suche.
Ein "Test"-Query:
PHP-Code:
SELECT
objekte.objekt_id,
objekte.objekt_name,
objekte.objekt_datei_name,
user_eintrag.eintrag_id,
user_eintrag.eintrag_info_kurz,
user_eintrag.eintrag_info,
user_eintrag.eintrag_username,
user_eintrag.eintrag_kartenname_id,
user_eintrag.eintrag_objektname,
user.user_name,
karten.karte_name,
FROM user_eintrag, objekte, user, karten
WHERE
user_eintrag.eintrag_objekt = objekte.objekt_id
AND user.user_id = user_eintrag.eintrag_username
AND user_eintrag.eintrag_kartenname_id = karten.karte_id AND user_eintrag.eintrag_seite = seiten.seite_id
AND user_eintrag.eintrag_delete <> 1
AND
(
( objekte.objekt_name like ('%test%') )
OR ( user_eintrag.eintrag_info_kurz like ('%test%') )
OR ( user_eintrag.eintrag_info like ('%test%') )
OR ( user.user_name like ('%test%') )
OR ( user_eintrag.eintrag_objektname like ('%test%') )
)
ORDER BY user_eintrag.eintrag_datum DESC LIMIT 0 , 10
Das Ergebnis bei 500 Datensätze wäre in diesem Beispiel 250 Stück.
Sucht der User nun nach 2 Wörtern "test" und "blume" dann würde sich der untere Block verrdoppeln und würde wie folgt aussehen
PHP-Code:
( objekte.objekt_name like ('%test%') or objekte.objekt_name like ('%blume%') )
OR ( user_eintrag.eintrag_info_kurz like ('%test%') AND user_eintrag.eintrag_info_kurz like ('%blume%') )
OR ( user_eintrag.eintrag_info like ('%test%') AND user_eintrag.eintrag_info like ('%blume%') )
OR ( user.user_name like ('%test%') AND user.user_name like ('%blume%') )
OR ( user_eintrag.eintrag_objektname like ('%test%') AND user_eintrag.eintrag_objektname like ('%blume%') )
)
In diesem Falle wäre die Antwort ebenfalls 250 Stück. Darunter wäre dann auch das Wort "blume" irgendwo zu finden
Könnt ihr mir bitte helfen?
Danke
padrone