Avatar billede kimlarsen1978 Nybegynder
22. januar 2008 - 00:50 Der er 3 kommentarer og
1 løsning

Søgning efter enkalte ord i tekst

Hejsa
Jeg har i dag en meget simpel søgning i min artikel database, folk kan indtaste i et felt fx. "bil" og bruges det ord eller den sætning folk skriver til at lave SQL'en og søgningen.

strSoeg = "" & Request.Form("soegeord")
SELECT * ... WHERE artikel '% strSoeg %' ...

Men det er jo ikke optimalt, det giver alt for mange "fejl" hits da den oved søgning på "bil" finder fx "billeder", "billedhygger" og så videre, og søger man fx. på "biler skoda", så finder den ingenting da "biler skoda" ikke kan findes præcist sådan i teksten.

Hvordan får jeg den til at søge efter de enkelte ord? Således at søger folk efter "biler skoda", og jeg har en artikel med teksten:

"...biler er en interessant hobby. Ta nu en Skoda, hvad kan den ikke blive til..."

Så skal den gerne blive selected i SQL'en...

På forhånd tak.
Avatar billede kimlarsen1978 Nybegynder
22. januar 2008 - 00:56 #1
Glemte lige én ting: Jeg bruger MySQL version 5.0.27.
Også skal jeg beklage de mange tastefejl - det er ved at være sent :-)
Avatar billede gammelhat Nybegynder
22. januar 2008 - 01:49 #2
en mulighed:

select * from tabel where artikel regexp '[[:<:]](biler|skoda)[[:>:]]';

vs

select * from tabel where artikel regexp '[[:<:]]biler[[:>:]]' and artikel regexp '[[:<:]]skoda[[:>:]]';

http://dev.mysql.com/doc/refman/5.0/en/regexp.html
Avatar billede kimlarsen1978 Nybegynder
25. januar 2008 - 23:35 #3
Tak for det.
Nu har jeg fået tid til at lave det - og det virker fino :-)

Svar bitte...
Avatar billede kimlarsen1978 Nybegynder
13. februar 2010 - 19:03 #4
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester