webForumDet fria alternativet

Sök på flera fält

Databaser & SQL

1 svar · 179 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#1

Hur ska det se ut i denna SQL för att man ska kunna få ut sökresultat från alla fält i databasen?

sort             = "desc"
Falt              = Request.Form("faltet")
Sokordet     = Request.Form("sokord")
typ              = Request.Form("artikeltyp")

SQL = "SELECT * FROM artiklar WHERE" 
varSearchWord = Split(Sokordet) 
For N = 0 TO UBound(varSearchWord)  
       SQL = SQL & " " & Falt & " Like '%" & varSearchWord(N) & "%' And" 
Next 'N 

'## -- ta bort det sista , i strängen. annars blir det fel vid exekveringen -- 
SQL = Left(SQL,Len(SQL) - 3) 
If typ = "" Then
        SQL = SQL & " ORDER BY Id " & sort
Else
        SQL = SQL & " And artikeltyp Like '%" & typ & "%' ORDER BY Id " & sort
End If
Medlem sedan dec. 20011 860 inlägg
#2

Fick till det tror jag. Skriver ut rätt i SQLsträngen iallafall.

sort             = "desc"
Falt              = Request.Form("faltet")
Sokordet     = Request.Form("sokord")
typ              = Request.Form("artikeltyp")

SQL = "SELECT * FROM artiklar WHERE" 
varSearchWord = Split(Sokordet) 
For N = 0 TO UBound(varSearchWord)  
   If Falt = "alla" Then
      SQL = SQL & "(titel Like '%" & varSearchWord(N) & "%' or forf Like '%" & varSearchWord(N) & "%' or info Like '%" & varSearchWord(N) & "%' or ref Like '%" & varSearchWord(N) & "%') And" 
   Else
      SQL = SQL & " " & Falt & " Like '%" & varSearchWord(N) & "%' And" 
   End If
Next 'N 
'## -- ta bort det sista , i strängen. annars blir det fel vid exekveringen -- 
SQL = Left(SQL,Len(SQL) - 3) 
If typ = "" Then
   SQL = SQL & " ORDER BY Id " & sort
Else
   SQL = SQL & " And artikeltyp Like '%" & typ & "%' ORDER BY Id " & sort
End If
262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)