<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM Recension WHERE ID = " & request("Id")
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
%>
Så anroper jag rätt sub:
<%
IF RecSet("Kategori") = "%action%" THEN
filmsistaaction()
end if %>
Så här ser suben ut:
sub filmsistaaction()
SQLlist2 = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc"
Set RS= Connect.Execute(SQLlist2)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RecSet.Close
End Sub
...men den vill inte lista actionfilmerna
Någon som kan hjälpa?
response.write(visa) skriver ut: SELECT * FROM Recension WHERE ID = 261...
men när jag skriver response.write(sqllist2) får jag inget svar?
Vad kan vara fel med selecten i subben?
Får du inget svar? Vart skriver du Response.Write(sqllist2) ?
Inne i Suben? Då kommer du inte in i sugen.
Kolla så att if-satsen IF RecSet("Kategori") = "%action%" THEN är korrekt.
If-satsen är fel på nåt sätt?
Om jag skriver <% =RecSet("Kategori") %> får jag svaret: Action / Drama
Om jag skriver <% IF lcase(RecSet("Kategori")) = "Action" THEN
response.write RecSet("Kategori")
end if %> får jag inget resultat. Ologisk???
...men om du inte är trött på mig än? varför listar den 20 filmer?
if InStr(LCase(RecSet("kategori")), "action") > 0 then
filmsistaaction()
end if
Subben:
Sub filmsistaaction()
SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga actionfilmer i databasen???</b><br>"
end if
RS.Close
End Sub
Annars är det två uppsättningar av samma filmer, eller är det 20 olika? Om det är 20 olika verkar det som att det blir så pga Access förmåga att göra enligt tidigare tråd när man använder TOP.
Kontrollera att du inte råkar exekvera subben två gånger också...
Sub filmsistaaction()
SQLlist = "SELECT TOP 10 ID, Titel, Betyg, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<img src='images/tern" & RS("Betyg") & ".gif' width='15'"""
response.write "'> "
response.write "<a href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RS.Close
End Sub
I inmatningen till db har jag ett textfält där man med text anger vilken kategori filmen tillhör. Där kan det vara så att en film tillhör olika kategorier som till exempel: Action / Drama
<%
if InStr(LCase(RecSet("kategori")), "action") > 0 then
filmsistaaction()
end if
if InStr(LCase(RecSet("kategori")), "drama") > 0 then
filmsistadrama()
end if
if InStr(LCase(RecSet("kategori")), "barn") > 0 then
filmsistabarn()
end if
if InStr(LCase(RecSet("kategori")), "famil") > 0 then
filmsistabarn()
end if
if InStr(LCase(RecSet("kategori")), "komed") > 0 then
filmsistakomedi()
end if
if InStr(LCase(RecSet("kategori")), "humor") > 0 then
filmsistakomedi()
end if
if InStr(LCase(RecSet("kategori")), "thriller") > 0 then
filmsistathrill()
end if
if InStr(LCase(RecSet("kategori")), "rys") > 0 then
filmsistarys()
end if
if InStr(LCase(RecSet("kategori")), "skräck") > 0 then
filmsistarys()
end if
%>
'#######här kommer subbarna
Sub filmsistaaction()
SQLlist = "SELECT TOP 10 ID, Titel, Betyg, Kategori FROM Recension WHERE Kategori LIKE '%action%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<img src='images/tern" & RS("Betyg") & ".gif' width='15'"""
response.write "'> "
response.write "<a href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RS.Close
End Sub
Sub filmsistadrama()
SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%drama%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RS.Close
End Sub
Sub filmsistabarn()
SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%barn%' OR Kategori LIKE '%famil%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RS.Close
End Sub
Sub filmsistakomedi()
SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%komedi%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RS.Close
End Sub
Sub filmsistathrill()
SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%thriller%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RS.Close
End Sub
Sub filmsistarys()
SQLlist = "SELECT TOP 10 ID, Titel, Kategori FROM Recension WHERE Kategori LIKE '%rys%' OR Kategori LIKE '%skräck%' ORDER BY Id Desc, titel"
Set RS = Connect.Execute(SQLlist)
RS.Cachesize = 10
if not (RS.eof and RS.bof) THEN
DO UNTIL RS.EOF
response.write "<a class=""meny"" href=""filmrec.asp?ID=" & RS("ID") & """>" & RS("Titel") & "</a> "
response.write "<br>" & chr(13)
RS.MoveNext
Loop
else
response.write "<br><b>Inga filmer i databasen???</b><br>"
end if
RS.Close
End Sub
%>
389 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91