MySQL Abfrage - Eine Variable enhält mehrere Daten für LIKE
Sascha
- datenbank
Hi Folks,
wie soll ich es beschreiben :-S
Ich bekomme via Formular ein Suchtext als String übergeben und speicher diesen in einer Variablen.
Jetzt möchte ich in meiner Datenbank eine Tabelle danach durchsuchen.
Soweit alles kein Problem, hier ein Bsp wie ich das aktuell tue:
Variableninhalt = iPhone
SELECT *
FROM `article`
WHERE `Preview` LIKE '%iPhone%'
Ich möchte allerdings, dass er auch den Artikel findet, wenn ich ein weiten Parameter hinzufüge:
Variableninhalt = Anleitung iPhone
SELECT *
FROM `article`
WHERE `Preview` LIKE '%Anleitung%' AND `Preview` LIKE '%iPhone%'
So müsste ja nun mein Code aussehen, damit er es findet.
Allerdings bekomme ich die Variable nicht sauber getrennt bzw. weiß nicht, ob es eine andere Form der MySQL-Abfrage gibt, die mir es anders erlaubt zu suchen.
Fazit:
Ich möchte eigentlich nur, dass wenn ich zwei Wörter suche, dass er mir die Artikel zeigt, in denen beide vorkommen, diese aber an jeder beliebigen Stelle des Strings der Tabelle stehen können.
Hoffe ich hab es einigermaßen verständlich erklärt.
Ich finde es schwierig es in Worte zu fassen, weshalb vielleicht auch meine Suche ohne Erfolg bleib :-/
Gruß Sascha
Hi,
Allerdings bekomme ich die Variable nicht sauber getrennt
Wo liegt das Problem?
Mit welcher Technik (Scriptsprache) und wie hast du es versucht?
bzw. weiß nicht, ob es eine andere Form der MySQL-Abfrage gibt, die mir es anders erlaubt zu suchen.
Ja, die Volltext-Suche.
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
MfG ChrisB
Hi Folks,
Allerdings bekomme ich die Variable nicht sauber getrennt
Wo liegt das Problem?
Mit welcher Technik (Scriptsprache) und wie hast du es versucht?
Also ich arbeite hier mit PHP.
Der Versuch ist bereits im Kopf gescheitert, da ich nicht zu einem Lösungsansatz gefunden habe, wie ich aus einer Variable in einem Schritt mehrere Variablen machen kann.
bzw. weiß nicht, ob es eine andere Form der MySQL-Abfrage gibt, die mir es anders erlaubt zu suchen.
Ja, die Volltext-Suche.
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.htmlMfG ChrisB
Danke für den Tipp, der hat mir sehr weitergeholfen.
Konnte das Problem jetzt dadurch lösen, dass ich die Variable mit str_replace bearbeitet habe und dann über die Volltextsuche (das war der Hinweis den ich benötigte) mein Suchergebnis bekomme!
Gruß Sascha
Hi Folks,
zu früh gefreut :-(
Hat leider doch nicht geklappt!
Gruß Sascha
Hi Folks,
Aber über explode()
konnte ich es jetzt lösen.
Gruß Sascha