22. november 2001 - 09:38Der er
14 kommentarer og 3 løsninger
TOP 10?
Jeg skal ha\' lavet en top 10 på min videodatabase. Den skal laves i asp, og i databasen har jeg angivet en range (antal stjerner) på de forskellige videoer. Skriptet skal udskrive de 10 bedste videoer - altså ordnet efter \"Range\". Hvordan gør jeg? Jeg er i tvivl om min Query-sætning og hvordan jeg standser min loop ved nr. 10. Dette er mit foreløbige script (som ikke virker):
Query = \"SELECT * FROM video WHERE 1=1 ORDER BY Range\" Set rs = Connect.Execute (Query) do until rs.EOF %> <b><%=rs(\"Navn\")%></b><br> <% rs.MoveNext %> <% loop %> <%End If%>
Jeg har ikke nogen database eller tabel der udelukkende indeholder top 10\'en. Det er meningen at scriptet selv skal vælge de film med flest stjerner, - frem til record nr. 10.
Det forslag du allerede har fået er klart det bedste, ikke mindst i.f.t. performance. Men vær lige opmærksom på at ikke alle databaser understøtter TOP keyword/operatoren. Du har ikke skrevet noget om hvilken database du anvender, så derfor får du lige et alternativt forslag just in case...
Query = \"SELECT * FROM video WHERE 1=1 ORDER BY Range DESC\" Set rs = Connect.Execute (Query)
i = 0
do until rs.EOF i = i + 1 if i = 10 then exit do %> <b><%=rs(\"Navn\")%></b><br> <% rs.MoveNext %> <% loop %> <%End If%>
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.