FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Mycket flitig postare
|
Hejsan! Försöker bygga en enkel sökfunktion men går inte riktigt som jag vill.
Jag vill kunna söka på flera ord i en string men som inte nödvändigtvis ligger efter varandra. Såhär går det nu: Riktiga ordet: hej på dig går att söka: hej på dig hej på på dig hej på dig Går inte att söka: hej dig kod: PHP-kod:
Någon som kan hjälpa mig och berätta hur jag skall göra? ![]() Jag är nybörjare.. Tack! |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Flitig postare
|
Det blir mycket enklare om du använder MySQLs FULLTEXT index. Se http://dev.mysql.com/doc/refman/5.0/...xt-search.html eller exempel på t.ex. http://www.artfulcode.net/articles/f...arching-mysql/
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Flitig postare
|
Jag brukar splitta upp frasen i enskilda ord och ge dem olika "rankingpoäng" med CASE WHEN. Första ordet får kanske 90, nästa 80, nästa 65 o.s.v. Således om ord 1 och 3 matchar en post har den 155 rankingpoäng, om ord 2 och 3 matchar så har de 145.
Man kan ju ge dem lika många poäng också men första ordet brukar vara mer relevant i de flesta lägen. Galet trött så osäker på att jag gjorde någon poäng här, men du kanske förstår? |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Mycket flitig postare
|
Tack nicclas, ska kolla på saken!
![]() Jodå Jimmit, jag förstår tankesättet, men inte exakt hur man skulle lösa det rent tekniskt. Får kolla mer på era lösningar, tack så mycket! |
||
![]() |
![]() |
Svara |
|
|