/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Top 5 i rækkefølge med flest antal stemmer
Fra : Thom@s


Dato : 27-07-03 17:03

Hejsa

Hvad skal jeg ændre for af få denne top 5 afstemning til at stå i rækkefølgen med fleste stemmer, i stedet for i alfabetisk
rækkefølge?

---------------------------------------

<%
Function GetStats()
Dim S,C
Dim A(4)
Dim B(4)
s = -1
'createdataobject server.mappath("data/film.mdb")
createdataobject "d:\home\dirchpasserdk\db\film.mdb"
Set rs = DBConn.Execute ("SELECT * FROM film WHERE tilladStemme = 1;")
'opentable "SELECT dvdcounter,Titel FROM Film ORDER BY dvdcounter DESC;"
do while not (rs.eof or rs.bof)
if not isNull(rs("dvdcounter")) then
if rs("dvdcounter") > 0 then
s = s + 1
if s <= ubound(a) then
a(s) = rs("Titel")
b(s) = rs("dvdcounter")
end if
end if
end if
if not isNull(rs("dvdcounter")) then
c = c + rs("dvdcounter")
end if
rs.movenext
loop
'closetable
closedataobject
GetStats = GetStats & "<table style=""font-family: Verdana; font-size: 8pt"" border=""0"" cellspacing=""0"" cellpadding=""0"">"
& vbcrlf
for i=0 to ubound(a)
if p = " bgcolor = ""#DEDFBD""" then
p = ""
else
p = " bgcolor = ""#DEDFBD"""
end if
if b(i) > 0 then
GetStats = GetStats & "<tr" & p & ">" & vbcrlf
GetStats = GetStats & "<td>" & vbcrlf
GetStats = GetStats & a(i) & "&nbsp;&nbsp;" & vbcrlf
GetStats = GetStats & "</td>" & vbcrlf
GetStats = GetStats & "<td>" & vbcrlf
GetStats = GetStats & formatNumber(((100/c) * b(i)),2) & "%&nbsp;&nbsp;" & vbcrlf
GetStats = GetStats & "</td>" & vbcrlf
GetStats = GetStats & "<td>" & vbcrlf
GetStats = GetStats & "(" & b(i) & " stemmer)" & vbcrlf
GetStats = GetStats & "</td>" & vbcrlf
GetStats = GetStats & "</tr>" & vbcrlf
end if
next
GetStats = GetStats & "<tr><td colspan=""3"">&nbsp;</td>" & vbcrlf
GetStats = GetStats & "<tr><td align=""center"" colspan=""3"">" & c & " stemmer ialt.</td></tr>" & vbcrlf
GetStats = GetStats & "</table>" & vbcrlf

End Function

%>



 
 
Andreas Slot-Henriks~ (27-07-2003)
Kommentar
Fra : Andreas Slot-Henriks~


Dato : 27-07-03 18:02

Hej Thomas

> Hvad skal jeg ændre for af få denne top 5 afstemning til at stå i
rækkefølgen med fleste stemmer, i stedet for i alfabetisk
> rækkefølge?
> Set rs = DBConn.Execute ("SELECT * FROM film WHERE tilladStemme =
1;")

Det ville være en idé i ovenstående linie at tilføje en ORDER BY. F.eks.
Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1
ORDER BY film.[Feltet der skal sorteres];")

Du kunne også evt. skrive nedenstående for kun at få vist de første fem
poster:
Set rs = DBConn.Execute ("SELECT TOP 5 * FROM film WHERE film.tilladStemme
= 1 ORDER BY film.[Feltet der skal sorteres];")


mvh.
Andreas Slot-Henriksen



Thom@s (27-07-2003)
Kommentar
Fra : Thom@s


Dato : 27-07-03 18:17


"Andreas Slot-Henriksen" <andreas.s-h@mail.dk> skrev i en meddelelse news:3f24057b$0$76068$edfadb0f@dread11.news.tele.dk...
> Hej Thomas
>
> > Hvad skal jeg ændre for af få denne top 5 afstemning til at stå i
> rækkefølgen med fleste stemmer, i stedet for i alfabetisk
> > rækkefølge?
> > Set rs = DBConn.Execute ("SELECT * FROM film WHERE tilladStemme =
> 1;")
>
> Det ville være en idé i ovenstående linie at tilføje en ORDER BY. F.eks.
> Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1
> ORDER BY film.[Feltet der skal sorteres];")
>
> Du kunne også evt. skrive nedenstående for kun at få vist de første fem
> poster:
> Set rs = DBConn.Execute ("SELECT TOP 5 * FROM film WHERE film.tilladStemme
> = 1 ORDER BY film.[Feltet der skal sorteres];")
>
>

Hvis det var sådan du mente virker det ikke, den valgte i stedet for 5 af dem med 1 stemme
Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1 ORDER BY film.dvdcounter;")



Ukendt (27-07-2003)
Kommentar
Fra : Ukendt


Dato : 27-07-03 19:13


"Thom@s" <reklamefri[SnabelA]mail.dk> skrev i en meddelelse
news:3f24094e$0$24685$edfadb0f@dread14.news.tele.dk...
>
> "Andreas Slot-Henriksen" <andreas.s-h@mail.dk> skrev i en meddelelse
news:3f24057b$0$76068$edfadb0f@dread11.news.tele.dk...
> > Hej Thomas
> >
> > > Hvad skal jeg ændre for af få denne top 5 afstemning til at stå i
> > rækkefølgen med fleste stemmer, i stedet for i alfabetisk
> > > rækkefølge?
> > > Set rs = DBConn.Execute ("SELECT * FROM film WHERE
tilladStemme =
> > 1;")
> >
> > Det ville være en idé i ovenstående linie at tilføje en ORDER BY. F.eks.
> > Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme =
1
> > ORDER BY film.[Feltet der skal sorteres];")
> >
> > Du kunne også evt. skrive nedenstående for kun at få vist de første fem
> > poster:
> > Set rs = DBConn.Execute ("SELECT TOP 5 * FROM film WHERE
film.tilladStemme
> > = 1 ORDER BY film.[Feltet der skal sorteres];")
> >
> >
>
> Hvis det var sådan du mente virker det ikke, den valgte i stedet for 5 af
dem med 1 stemme
> Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1
ORDER BY film.dvdcounter;")
>
prøv det her
Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1
ORDER BY film.dvdcounter desc")

når du kun arbejder med en tabel er der ingen grund til at skrive hvilken du
vil bruger (fx. film.dvdcounter)



>



Thom@s (27-07-2003)
Kommentar
Fra : Thom@s


Dato : 27-07-03 19:36


> > Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1
> ORDER BY film.dvdcounter;")
> >
> prøv det her
> Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1
> ORDER BY film.dvdcounter desc")
>
> når du kun arbejder med en tabel er der ingen grund til at skrive hvilken du
> vil bruger (fx. film.dvdcounter)
>
>
>

Undskyld jeg ikke har skrevet før, men her er den som virker:

Set rs = DBConn.Execute ("SELECT * FROM film WHERE tilladStemme = 1 order by dvdcounter DESC")



Ukendt (27-07-2003)
Kommentar
Fra : Ukendt


Dato : 27-07-03 22:28


"Thom@s" <reklamefri[SnabelA]mail.dk> skrev i en meddelelse
news:3f241b96$0$24656$edfadb0f@dread14.news.tele.dk...
>
> > > Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme =
1
> > ORDER BY film.dvdcounter;")
> > >
> > prøv det her
> > Set rs = DBConn.Execute ("SELECT * FROM film WHERE film.tilladStemme = 1
> > ORDER BY film.dvdcounter desc")
> >
> > når du kun arbejder med en tabel er der ingen grund til at skrive
hvilken du
> > vil bruger (fx. film.dvdcounter)
> >
> >
> >
>
> Undskyld jeg ikke har skrevet før, men her er den som virker:
>
> Set rs = DBConn.Execute ("SELECT * FROM film WHERE tilladStemme = 1 order
by dvdcounter DESC")

Hvis du ikke skal bruge alle frlter i tabellen er det en go ide at skifte *
ud med felterne da det ikke tager så mange kæfter fra serveren

>
>



Jørn Andersen (28-07-2003)
Kommentar
Fra : Jørn Andersen


Dato : 28-07-03 13:15

On Sun, 27 Jul 2003 23:28:02 +0200, "*XxX*"
<fatman00hot-at-hotmail.com> wrote:

>> Set rs = DBConn.Execute ("SELECT * FROM film WHERE tilladStemme = 1 order
>by dvdcounter DESC")
>
>Hvis du ikke skal bruge alle frlter i tabellen er det en go ide at skifte *
>ud med felterne da det ikke tager så mange kæfter fra serveren

Jeg mener under alle omstændigheder det er en fordel ikke at bruge
SELECT *, da det betyder, at der skal laves to kald til databasen:
Først hente feltnavne, derefter recordettet. Se mere:
<url: http://www.aspfaq.com/plain.asp?id=2096>

Desuden har det også den fordel, at man har lettere ved at overskue
sin kode ...

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408534
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste