Avatar billede olelar Nybegynder
20. juni 2001 - 10:37 Der er 5 kommentarer og
1 løsning

randomize

Kan man og hvordan randomize top 5 i denne sætning

set rs=dbobj.execute (\"select top 5 * from banner\")
Avatar billede roadrunr Nybegynder
20. juni 2001 - 11:26 #1
Du kunne loade dem ind i et array

Dim myArray(5,2)

nCnt = 0
While Not rs.EOF

  myArray(nCnt,0) = rs(\"ID\")
  myArray(nCnt,1) = rs(\"titel\")
  \' o.s.v.

  nCnt = nCnt + 1
rs.MoveNext
Wend

Og så dernæst lave en randomize på arrayet...

Avatar billede sbm Nybegynder
20. juni 2001 - 11:47 #2
set rs=dbobj.execute (\"select top 5 * from banner\")

dim antalbannere = 5
randomizer = Int(Rnd * antalbannere) + 1

dim index = 0
while index < randomizer do
  index = index + 1
loop

...skriv dit banner ud da RS nu peger på et tilfældigt af de fem første bannere...
Avatar billede olelar Nybegynder
20. juni 2001 - 11:52 #3
sbm >

Jeg skal jo bruge alle 5, men i vilkårlig rækkefølge
Avatar billede sbm Nybegynder
21. juni 2001 - 23:06 #4
Hi hi... Jeg sad lige og kiggede på den kode jeg forslog. Der mangler da vist en rs.movenext i while-løkken. Hovsa. :-)

Jeg beklager jeg ikke er vendt tilbage før nu.

Ok, jeg fik ikke lige fat i at du skulle bruge dem alle fem. Så må vi vist over i noget af det som roadrunr foreslog. Alle fem rækker ind i et array, og så lave en randomize.

dim antalBannere = 5

Udfør din select...

dim bannerArray(antalBannere,1)
dim index = 0
do while not rs.eof
  bannerArray(index) = rs(\"bannerTekst\")
  index = index+1
  rs.movenext
loop

do while antalBannere > 0
  randomizer = Int(Rnd * antalBannere) + 1
  \' I dette eksempel skriver jeg dem bare ud.
  \' Du kan også bare lægge dem i et andet array, og gemme dem til senere.
  response.write bannerArray(randomizer)
  antalBannere = antalBannere - 1
loop

Jeg håber det kunne bruges?
Avatar billede sbm Nybegynder
21. juni 2001 - 23:07 #5
...og husk for en god ordens skyld at lukke din databaseforbindelse straks efter den første while-løkke er slut, for der bruger du den jo ikke mere. :-)
Avatar billede olelar Nybegynder
28. juni 2001 - 10:41 #6
sbm >>
Så var det mig der var langsom. Jeg glemte spørgsmålet, da jeg valgte at bruge en anden måde at gøre det på.
Du får lige pointsene for forsøget :-)
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