Kom ihåg mig?
Home Menu

Menu


Avancerad MySQL-sökning

 
Ämnesverktyg Visningsalternativ
Oläst 2007-12-20, 15:30 #1
oddholst oddholst är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 127
oddholst oddholst är inte uppkopplad
Medlem
 
Reg.datum: Aug 2007
Inlägg: 127
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?
oddholst är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017