Jag försöker att lista 10 filmer. Tycker själv att koden ser logisk ut, men... tyvärr visar den 23 st. Varför??
function tioact()
SQLlist = "SELECT TOP 10 ID, Titel, Betyg, Kategori FROM Recension WHERE Kategori LIKE '%action%' OR Kategori LIKE '%thrill%' ORDER BY Betyg Desc"
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 actionfilmer i databasen???</b><br>"
end if
RS.Close
End Function
I så fall betyder top 10 att du får även de poster som har samma värde som den 10:e posten. (Med avseende på de kolumner som ingår i order by.)
Så det beror på hur du vill hantera det fallet.
Du kan lägga till en extra kolumn i order by t.ex.
SQLlist = "SELECT TOP 10 ID, Titel, Betyg, Kategori FROM Recension WHERE Kategori LIKE '%action%' OR Kategori LIKE '%thrill%' ORDER BY Betyg Desc, titetl"
eller så kan du ha en egen räknare
for i = 1 to 10
if rs.eof then exit for
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
next
------------------ essentitia preter non sans multiplicandum