webForumDet fria alternativet

Söka flera fält på samma gång?

Databaser & SQL

4 svar · 193 visningar · startad av His Divine Shadow

Medlem sedan sep. 20004 079 inlägg
Frågan#1

Just nu har jag en sökmaskin där man kan söka igenom specifika fält efter vissa ord eller delar av ord, men hur kan man göra så att man kan välja alla fält i en sökning?

Just nu ser det ut såhär:

SQL = "SELECT * FROM Kat WHERE " & Field & " LIKE '"& Replace(Searchstring,"*","%") &"' ORDER BY " & sort & " " & direction & ""
Medlem sedan dec. 20003 563 inlägg
#2
SQL = "SELECT * FROM Kat WHERE " & _
Field & " LIKE '"& Replace(Searchstring,"*","%") &"' OR " & _
Field2 & " LIKE '"& Replace(Searchstring,"*","%") &"' OR " & _
Field3 & " LIKE '"& Replace(Searchstring,"*","%") &"'  " & _
"ORDER BY " & sort & " " & direction & ""
Medlem sedan dec. 200012 464 inlägg
#3

Det kan aldrig vara meningsfullt att söka i alla kolumner.

Du väljer vilka kolumner som det är relevant att söka. Sedan så får du bygga in dom i sökfrågan.

s = "'" & replace(replace(searchstring,"'","''"),"*","%") & "'" 
sql = "SELECT * FROM Kat " & _
"WHERE " & column1 & " LIKE " & s & _ 
" or " & column2 & " like " & s & _
" ORDER BY " & sort & " " & direction

Eventuellt så kan du låta användaren välja.

Medlem sedan sep. 20004 079 inlägg
#4

Det är meningen att användaren ska kunna välja att söka alla kolumner om han så vill.

Medlem sedan juni 200032 967 inlägg
#5

Då får du speca 'alla' kolumner enligt ovan.

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)