webForumDet fria alternativet

Sökning

ASP

3 svar · 165 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Jag har en liten fråga ang. sökning i en databas.

Jag har en text i en kolumn där det står:
Min bil är blå.

Om jag söker på 'min' eller 'min bil' går det bra, men söker jag på 'blå bil' så får jag noll träffar, det är mindre bra. Hur skall jag lösa det på bästa sätt?

Medlem sedan feb. 20022 594 inlägg
#2

Du får dela upp strängen. Splitta vid mellanslag och sedan plocka ut det så.

strVar = split(Request.Form("strSearchString")," ")

'SQL-sträng:
strSQL = "SELECT * FROM db WHERE strText LIKE '%"& strVar(0)  &"%'"

Loopa ut det så, typ.

Medlem sedan dec. 200012 464 inlägg
#3
sql = "select * from t "
if len(searchWords) > 0 then
   strings = split(searchWords," ")
   for i = 0 to ubound(strings)
        if i = 0 then
           sql = sql & "where "
        else
           sql = sql & "and "
        end if
        sql = sql & "searchColumn like '%" & strings(i) & "%'"
   next
end if

Det är ju frågan om du skall ha and eller or. Om du har AND så måste alla ord finnas i kolumnen. Om du använder OR så räcker det med att ett av orden finns.

Medlem sedan nov. 20017 144 inlägg
#4

Tack, jag kan ju ha en dropplist med "och/eller".

249 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)