16. august 2003 - 14:32Der er
9 kommentarer og 1 løsning
Søge efter flere ting i uordnet rækkefølge
Jeg har en film database, hvor jeg gerne ville kunne søge efter genre. Man skal kunne søge fx. "dr ac" og så skal den finde alle "Drama Action". Men den skal også finde alle "Action Drama", altså alle film der har action og drama som genre uanset rækkefølge. Genre er opdelt med /. "Drama / Action / osv."
jeg har prøvet med: SELECT * FROM film WHERE genre LIKE '%"&Replace(Replace(Request.Form("genre")," ","%"),"'","''")&"%' ORDER BY titel asc
i ASP, men den finde kun i den rækkefølge jeg søger. Kan man ikke få den til at vælge alle ??
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
strGenre = Request.form("genre") intLoop = 1 strString = "SELECT * FROM film WHERE genre LIKE '" Do until intLoop = Len(strGenre) If inloop = 1 Then strChar = Left(strGenre, intLoop) Else strChar = Right(Left(strGenre, intloop), 1) End If If strChar = " " Then strString = strString & "%' AND genre LIKE'" Else strString = strString & strChar End If Loop
strString = strString & " ORDER BY titel"
Tilsidst vil din strString være lig med den streng du har behov for at bruge i din søgning
evt. fjerne mellemrum, hvis der tastes flere en én: for each item in genre if len(trim(item)) > 0 then sqlreq = sqlreq & "LIKE '%" & item & "%'" & linstr end if next
rettet udgave med kontrol for flere mellemrum og inkludering af alle søgeord
dim sqlreq, genre, linstr, item genre = request.form.item("genre") genre = split(genre, " ") linstr = " AND genre " for each item in genre if len(trim(item)) > 0 then sqlreq = sqlreq & "LIKE '%" & item & "%'" & linstr end if next sqlreq = left(sqlreq, len(sqlreq)-len(linstr))
SELECT * FROM film WHERE genre " & sqlreq & " ORDER BY titel"
mine første point! Det er godt nok stort. Mange tak.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.