> ich will eine suchfunktion f�r unsere datenbank machen.
[...]
> vielleicht hat ja jemand schon eine sch�ne funktion .. :)
Heute ist Dein Gl�ckstag.. *g*
Folgender Code kann z.B. sowas interpretieren und eine WHERE-Bedingung
f�r beliebig viele Suchfelder basteln...:
(("Internet Explorer" OR IE) AND NOT Browser) OR Netscape
Claudius
------------->
sql = sql & "select * from table WHERE " & _
sqlSearch(Request("suche"),Array("titel","text"),"AND")
function sqlSearch(ByVal searchString,fields,defaultOperator)
dim tokens,i,inString,char,tok,where,wasStr
searchString = searchString & " "
tokens = Array()
inString=false
tok = ""
for i = 1 to len(searchString)
char = mid(searchString,i,1)
select case char
case """"
inString = not inString
if (tok<>"") then tokens=arrayAdd(tokens,tok,not inString) : tok =
""
case "(",")"
if not inString then
if (tok<>"") then tokens=arrayAdd(tokens,tok,false) : tok = ""
tokens = arrayAdd(tokens,char,false)
else
tok = tok & char
end if
case else
if inString or char<>" " then
tok = tok & char
else
if tok<>"" then tokens=arrayAdd(tokens,tok,false) : tok = ""
end if
end select
next
where="" : wasStr = false
for each tok in tokens
select case tok
case "(",")","AND","OR","NOT"
where = where & " " & tok & " "
wasStr = false
case else
if wasStr then where = where & " " & defaultOperator & " "
where = where & " (" & join(fields," LIKE " & tok & " OR ") & "
LIKE " & tok & ") "
wasStr = true
end select
next
sqlSearch = where
end function
| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp