Avatar billede svoeber Nybegynder
24. september 2002 - 11:28 Der er 3 kommentarer og
1 løsning

Problemer med LIKE søgninger

Hejsa.

Jeg har en 'søgemaskine' i SQL, som søger i tekstindholdet i en database.
Brugeren kan vælge at søge på dele af et ord eller kun hele ord.
Mit problem er, at når brugeren vil søge på hele ord, kan jeg ikke fange det ord, som teksten begynder med...

Min SQL ser sådan ud:
SELECT * FROM table WHERE tekst LIKE '% $soegeord %'

Og hvis brugeren havde valgt at søge på dele af ord:
SELECT * FROM table WHERE tekst LIKE '%$soegeord%'

Som I kan se fanger den første søgning ikke de ord som teksten starter med, da der jo ikke er et mellemrum før ordet.
Hvordan kan jeg optimere søgningen til at medtage ord i starten og stadig kun søge på hele ord?
Avatar billede criterius.dk Nybegynder
24. september 2002 - 11:34 #1
Evt bruge "=" ?
Avatar billede svoeber Nybegynder
24. september 2002 - 11:37 #2
"=" vil jo kun fungere hvis søgeordet er præcis det samme som hele tekstindholdet....

Jeg har fx teksten:
"Jeg gik mig over sø og land"

Her vil jeg fange teksten ved at søge på "sø" - og det vil jo ikke virke med "="
Avatar billede lasse_buck Nybegynder
24. september 2002 - 12:22 #3
Vi tager start og slut med:
SELECT * FROM table
WHERE tekst LIKE '$soegeord %'
OR  tekst LIKE '% $soegeord'
OR  tekst LIKE '% $soegeord %';

Der skal sikkert også tages hensyn til punktum og komma:
OR  tekst LIKE '%$soegeord.%'
OR  tekst LIKE '%$soegeord,%'
Avatar billede svoeber Nybegynder
24. september 2002 - 12:24 #4
Det ser fornuftigt ud - takker...
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
Computerworld tilbyder specialiserede kurser i database-management

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