Avatar billede goose Nybegynder
06. juni 2005 - 17:11 Der er 3 kommentarer og
2 løsninger

Opdeling af søgestreng

Jeg har en form for intern søgemaskine som er lidt speciel.

Jeg modtager min søgestreng fra et formfelt hvor hvert søgeord/sætning er adskilt af et komma (der kan være flere søgeord/sætninger).

Nu vil jeg så foretage en søgning i min database med hvert af de enkelte søgeord/sætninger som indgår i min søgestreng, men hvordan gør jeg det ?

Det skal lige siges, at hvert resultat fra søgningen kun må fremgå én gang selvom der måske er flere af ordene i søgestrengen som henviser til samme side

Kan det overhovedet lade sig gøre eller ?????

/Goose
Avatar billede jpvj Nybegynder
06. juni 2005 - 17:26 #1
Når vi ikke har nogen kode, så må du nøjes med et generelt svar.

For kun at få unikke poster anvender du GROUP BY felt, hvor felt kan være en databasepost eller noget andet, der unikt giver en post.

SELECT * FROM table WHERE keywords IN (test, hej, hund).

Se evt. http://www.1keydata.com/sql/sqlin.html
Avatar billede nielle Nybegynder
06. juni 2005 - 17:48 #2
<%
IndData = "hund,kat,bæver"

SearchArr = Split(IndData, ",")

LikePart = ""
For idx=LBound(SearchArr) To UBound(SearchArr)
    If LikePart <> "" Then
        LikePart = LikePart & " OR "
    End If
    LikePart = LikePart & " dinVar LIKE '%" & SearchArr(idx) & "%'"
Next

SQL = "SELECT DESTINCT dinVar FROM dinTabel"

If LikePart <> "" Then
    SQL = SQL & " WHERE " & LikePart
End If

Response.Write SQL
%>
Avatar billede nielle Nybegynder
06. juni 2005 - 19:49 #3
Skal være DISTINCT i stedet for DESTINCT.
Avatar billede goose Nybegynder
06. juni 2005 - 21:21 #4
nielle >> smid lige et svar

/Goose
Avatar billede nielle Nybegynder
06. juni 2005 - 21:26 #5
Svar :^)
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