Avatar billede eastbourne Nybegynder
09. august 2000 - 11:19 Der er 3 kommentarer og
1 løsning

Søgning

Jeg er ved at lave en fritekst søgning til en hjemmeside. Jeg bruger følgende sql-sætning:

SQL = \"SELECT * FROM tabel WHERE tekst LIKE \'%\" & request.form(\"search\") & \"%\'\"

Det virker fint når man søger på et enkelt ord f.eks. FODBOLD, men der går ged i den, hvis man ønsker at søge på flere ord, og f.eks. skriver FODBOLD SUPERLIGAEN eller FODBOLD+SUPERLIGAEN i tekstfeltet. Hvordan løses dette?
Avatar billede stig3 Mester
09. august 2000 - 11:27 #1
Hvordan har du lagt dine data ned i databasen. Ligger de i rækkefølge i den orden som de forekommer?

Ellers bliver det svært at lave fritekstsøgning for så ved du ikke i hvilken rækkefølge ordene forekommer.
Avatar billede phylox2 Nybegynder
09. august 2000 - 11:45 #2
Du skal lave en Server.HTMLEncode, når du sender din data :)
Avatar billede sjensen Nybegynder
09. august 2000 - 12:22 #3
En måde at gøre det på er at splitte søgestrengen op i enkelte ord og/eller sætninger. F.eks. kan du beslutte at \"FODBOLD SUPERLIGAEN\" er 1 sætning der skal søges på (således at der SKAL stå \"FODBOLD SUPERLIGAEN\" i en tekst før den tages med) og at \"FODBOLD+SUPERLIGAEN\" er 2 forskellige ord, der dog begge skal være i teksten. Så mangler du bare at beslutte hvordan det skal skrives for at en tekst findes hvis bare et af ordene er der (eks. \"FODBOLD / SUPERLIGAEN\")

Når du har taget disse beslutninger opsplitter du søgestrengen i separate felter, og derefter udvider du din select med f.eks:

SQL = \"SELECT * FROM tabel WHERE tekst LIKE \'%\" & felt1 & \"%\' AND \'%\" & felt2 &\"%\'\"

og hvis skråstregen findes i søgeteksten skal AND udskiftes med OR, d.v.s. at du skal lave 2 select hvoraf du vælger den ene hvis der ikke er skråstreg og den anden hvis der er en skråstreg.




Avatar billede eastbourne Nybegynder
09. august 2000 - 13:06 #4
Yep sjensen! Selvfølgelig.
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