Avatar billede lund_dk Praktikant
21. januar 2004 - 17:53 Der er 1 kommentar og
1 løsning

topliste udtæk

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("opskrifter.mdb")
set rs = Conn.execute("SELECT TOP 3 * FROM artikler ORDER by AntalSet DESC")
Do Until rs.EOF
response.write("<a href=opskrifter.asp?mode=opskrift&id=" & rs("id") & ">" & RS("Opskrift") & "</a><br>")
rs.MoveNext
Loop
RS.close
set RS = nothing
%>

Har denne her kode til at udskrive de opskrifter som er mest læst..

lad os sige databasen ser sådan her ud:

ID NAVN        SET
1  Opskrift1  10 
2  Opskrift2  10
3  Opskrift3  11
4  Opskrift4  11
5  Opskrift5  12

Så uskriver den:
Opskrift5
Opskrift3
Opskrift4
Opskrift1
Opskrift2

Alstå, der kommer fem poster ud, og ikke kun 3 som jeg vi have, da nogen af posterne er set ens antal gange..

Hvordan undgår jeg at den laver flere poster end de 3, når der er lighed i hvor mange gange de er set?
Avatar billede eagleeye Praktikant
21. januar 2004 - 17:59 #1
Så du nød til at hvade en kolonne mere med i ORDER BY eksvis ID, så hvis der er flere ens AntalSet vælger den den nyeste..:

set rs = Conn.execute("SELECT TOP 3 * FROM artikler ORDER by AntalSet DESC, ID DESC")
Avatar billede eagleeye Praktikant
21. januar 2004 - 18:01 #2
TOP vælger nemlig ikke imellem ens værdier. Og hvis AntalSet er ens tager den alle med derfor virker det hvis den ekstra kolonne tilføjes, så selvom AntalSet er ens vil TOP bruge kolonne ID til at vælge en.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester