Hej.
Jag håller på att skriva ett php-script som gör en sökning i en MySQL-databas.
Saken är att sökningen skall ske i flera fält och kan ske med flera sökord samtidigt.
Exempel:
Tabellen medlemmar:
Kod:
mnr förnamn efternamn adress tfn
----------------------------------------------------------------
1 | Anders | Olsson | Kufgränd 4 | 012345678
2 | Gustaf | Andersson | Rusbacken 2A| 0701010101
- Om jag nu gör en sökning på ordet "anders" så kommer båda posterna att returneras.
- Om jag gör en sökning på "anders olsson" så returneras ingen post, fast det till fullo stämmer överens med mnr 1.
Som jag har gjort nu så gör jag så här:
- Delar upp söksträngen i alla sökorden.
- För varje sökord ställer jag en fråga med WHERE-villkoret "LIKE '%säkordet%'" för varje fält i medlemstabellen.
- Varje träff lägger jag in i en temporär tabell innehållandes mnr & träffar.
- Lista sedan endast de rader som har flest antal träffar.
Det är lite omständigt tycker jag, men finns det något lättare sätt att utföra denna operation på?
Kanske direkt i MySQL?
Förslag på metoder?