webForumDet fria alternativet

Avancerad Sök?

2 svar · 227 visningar · startad av voigtann1

voigtann1Medlem sedan juni 20019 519 inlägg
#1

Just nu kör jag det ändå jag känner till när det gäller att söka igenom databasen:

 like '%%" & ord & "%%

min fråga är om man kan göra en sök funktion som om man skriver två ord exempel:
"Här kommer lite text"

om man söker med orden kommer och text
så ska den hitta strängen ändå.. jag funderade på om man ska göra en arrey och splita strängen på något sätt men jag vet inte om SQL satsen går ihop i praktiken. hoppas man kan få lite hjälp om det ens går.

Engine^Medlem sedan dec. 20003 887 inlägg
#2

Dubbla %-tecken?

Splitta söksträngen på mellanslag och stoppa in resultatet i en IN-klausul i WHERE-delen. Glöm inte att lägga till apostrofer runt dom splittade sökorden.

red.
Lite dåligt beskrivet, men jag är en smula trött. Jag tror tanken kanske kan gå fram ändå.

voigtann1Medlem sedan juni 20019 519 inlägg
#3

har inte kört IN någon gång... var ska den vara i:

ord2 = split(ord," ")

SQL = "SELECT id,n_topic,n_brod,n_text,n_datum FROM NEWS" &_
      " WHERE ok = true and"&_
      " n_brod like '%" & ord2 & "%'" &_
      " OR n_text like '%" & ord2 & "%'" &_
      " OR n_topic like '%" & ord2 & "%'" &_

Hittade något LarsG skrev för ett bra tag sen:

sql = "select * from t where 1 = 1 "
searchWords = split(request.form("searchWords")," ")

for i = 0 to ubound(searchWords)
sql = sql & " or name like '%" & searchWords(i) & "%'" 
next

Det var inte så du menade? blir inte den koden rätt seg att ladda?

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)