mcfreak
18.01.2012, 21:16:00
Cześć, zamierzam zrobić pewien skrypt PHP, ale o nim zaraz. Jest np. tabela:
id | tekst
1 | lubie samochody oraz motocykle
2 | motocykle sa fajne
I mam w tym skrypcie PHP formularz, a dokładniej pole w którym wpisze np. "lubie motocykle i taczki". Chcę, aby zwrócił mi rekord, w którym zgadza się jak najwięcej słów ze zdania które podałem w formularzu. W tym przypadku "lubie motocykle i taczki" zwróci mi rekord o id 1, a gdybym wpisał "motocykle i taczki sa fajne", zwrócił by mi rekord o id 2.
Jak skonstruować takie zapytanie? Proszę o pomoc.
crafter
19.01.2012, 00:13:32
http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.htmlSELECT * FROM tabela WHERE tekst LIKE "%lubie motocykle i taczki%"
mcfreak
19.01.2012, 16:51:47
Cytat(crafter @ 19.01.2012, 00:13:32 )

http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.htmlSELECT * FROM tabela WHERE tekst LIKE "%lubie motocykle i taczki%"
Próbowałem już z
where tekst like "%lubie motocykle i taczki%"MySQL zwrócił pusty wynik (zero rekordów). ( Wykonanie zapytania trwało 0.0005 sekund(y) )
zdemotywowany
19.01.2012, 20:17:00
Exploduj teskt, wyszukaj wszystkie rekordy, a później przyrównaj je do siebie za pomocą ID.