Sökmotor......

ASP

3 svar · 193 visningar · startad av Bendro

Medlem sedan jan. 20013 039 inlägg
Trådstart#1

Nästa steg i min sökmotor (se inlägg om LIKE) är att tillåta användaren att nyttja wildcards. Men där fastnar jag lite. sql-strängen ser ju ut så här:sql="SELECT * FROM anvandare WHERE "&varsok&" LIKE '%"&varnamn&"%';"

där varnamn är sökordet som användaren skriver in. Hur skall jag bära mig åt för att ersätta t.ex * med %-tecken och få det att hamna på rätt plats? Om användaren t.ex söker på Bend* (letar givetvis efter Bendro) så skall det väl se ut så här '"&varnamn&"%' ? Hur separerar jag ut wildcardet...och hur skall koden se ut om wildcardet hamnar mitt i sökordet? (t.ex Be*ro)

Medlem sedan juni 2000547 inlägg
#2

Vet inte riktigt om det här kommer att funka, men det första som jag kommer att tänka på är:

varnamn = Replace(varnamn, "%", "*")
SELECT * FROM anvandare WHERE "&varsok&" LIKE '%"&varnamn&"%';"

Men som sagt var, skyll inte på mig om det inte funkar, det är bara en idé.

Medlem sedan jan. 20013 039 inlägg
#3

Så här funkar det bra:

varnamn=replace(varnamn,"*","%")

sql="SELECT * FROM anvandare WHERE "&varsok&" LIKE '"&varnamn&"';"

Fick vända och vrida lite på din kod, men det var till stor hjälp. Tog bort % i strängen efter LIKE för nu så är det ju upp till användaren att tala om var wildcardsen skall ligga. :)

Medlem sedan juni 2000547 inlägg
#4

Ojdå, blev lite fel i syntaxen där tror jag bestämt. men men, det funkade ju trota allt, fast det var lite slafsigt av mig.

255 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)