10. august 2002 - 20:17Der er
6 kommentarer og 1 løsning
Top 10 liste med asp
Jeg har lavet et forum med asp og access. Jeg vil godt ha en top 10 liste, over hvem der har skrevet mest... Den skal bare tælle hvor mange gange brugerene har skrevet hver... Og de ti højest på listen. Eks: Kurt - 10524 Jesper - 10332 Mikael - 9714 Jiska - 9218 Claus - 7466 Ovs...
Du skal lave en SQL sætning som laver din top 10 liste.
Til at tælle records bruges count(kolonnenavn). For at få den som har flest indlæg først så bruges ORDER BY Count(kolonnenavn) DESC. For at vælge ti ud så skal der TOP 10 ind i efter SELECT.
Så din SQL kan se sådan ud:
SQL = "SELECT TOP 10 Unavn, Count(Unavn) as Antal FROM [Indlæg] GROUP BY Unavn ORDER BY Count(Unavn) DESC"
'for at udskrive antallet kan du bruger dit recordset (rs) rs("antal"): set rs = conn.execute(SQL)
do while not rs.EOF Response.write rs("Unavn") & " - " & rs("antal") & "<br>" rs.movenext loop
Bemærk ved brug af Access og TOP vil alle med samme antal tælle for 1 ud af de 10 hvis der ialt er flere end 10 men ikke hvis det totale antal er mindre end 10... hmm det lyder lidt dumt men et eks..
Hvis du har dette for antal indlæg: 450, 230, 120, 110, 90, 50, 30, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3. Så vil du får 10 forskellige ud det vil side du har ialt 19 records ud da du vil få alle hvor antallet er 4 og ikke kun 2 hvor antallet er 4.
Eks som stopper udskrivningen efter 10 records er udskrevet:
set rs = conn.execute(SQL) nr = 1 Do while (not rs.eof) AND (nr <= 10) Response.write rs("Unavn") & " - " & rs("antal") & "<br>" nr = nr + 1 rs.movenext Loop
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.