Avatar billede djmedium Nybegynder
03. august 2012 - 11:08 Der er 6 kommentarer og
1 løsning

ASP SELECT TOP 10

Hej alle jeg har denne kode på min side og jeg får også 10 resultater men når jeg reloader siden er det de samme 10 resultater der står på siden. Hvad skal der til får at vise 10 tilfældige resultater hver gang siden loades ?

Koden :

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("../../data/90_1maindb.mdb"))
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT TOP 10 Musik.Musikken FROM musik ORDER BY RND(Musik.MusikID);", conn
do until rs.EOF
p=rs.GetRows(1,0)
Musikken = (p(0,0))
%>
<%=Musikken%><br>
<%
loop
%>
Avatar billede maddog_em Nybegynder
03. august 2012 - 11:26 #1
Hej

prøv følgende:

SELECT TOP 10 Musik.Musikken() as Random
FROM Musik
ORDER BY Random
Avatar billede djmedium Nybegynder
03. august 2012 - 11:38 #2
Det virker ikke. får denne fejl :

Microsoft JET Database Engine error '80040e14'
Undefined function 'Musik.musikken' in expression.

Men tak for første forsøg
Avatar billede softspot Forsker
03. august 2012 - 11:41 #3
Prøv at kigge på flg. link: http://www.eksperten.dk/spm/643208#reply_5754410

Jeg tror det er den metode du er på jagt efter...
Avatar billede maddog_em Nybegynder
03. august 2012 - 11:46 #4
Har du det sat op sådan her:

hvor Order by er på samme linje som Select

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("../../data/90_1maindb.mdb"))
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT TOP 10 Musik.Musikken() as Random FROM Musik ORDER BY Random", conn
do until rs.EOF

%>
<%=Musikken%><br>
<%
loop
%>
Avatar billede djmedium Nybegynder
03. august 2012 - 13:52 #5
Det var lige det der skulle til, mange tak for hjælpen. Der er 60 point på vej til dig.

Den nye kode kom til at se således ud :

<%
Randomize
rndIdx = int(1000*Rnd())+1
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("../../data/90_1maindb.mdb"))
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT TOP 10 Rnd(" & -1 * (rndIdx) & "*MusikID), * FROM musik ORDER BY 1", conn
do until rs.EOF
p=rs.GetRows(1,0)
NewID = (p(0,0))
MusikID = (p(1,0))
Musikken = (p(2,0))
%>
<%=Musikken%><br>
<%loop%>
Avatar billede djmedium Nybegynder
03. august 2012 - 13:56 #6
Jeg er lidt ny her, kan ikke se hvordan jeg giver dig de 60 point.
Avatar billede softspot Forsker
03. august 2012 - 14:02 #7
Det kan du når jeg har givet dig dette svar :-)

NB: Når du selv kommenterer på respons du har fået i en tråd, skal du ikke benytte svar, men blot "kommentar". Således er det kun de indlæg der rent faktisk er svar, der figurerer som sådan. Hvis en person ikke har givet en løsning men ikke i et svar (sker ofte), må du bede vedkommende om et svar. Du kan godt dele point mellem flere svar...
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



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat