Avatar billede plato Juniormester
09. april 2004 - 10:15 Der er 10 kommentarer og
1 løsning

Vis 6 forskellige fra DB. ASP

Nogen der kan hjælpe mig med denne her kode:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
Conn.Open Application("Provider")
Sql = "SELECT * FROM premiere"
rs.Open Sql, Conn, 1

randomize
rs.Move(int(rs.RecordCount * rdn))


Response.Write("<td valign='top'>")
Response.Write("<div align='center'>")
Response.Write("<a href='trailer.asp?id=" & rs("link") & "'><img border='0' src='pics/" & rs("pic") & "' width='95' height='138' alt='" & rs("titel") & "'></a>")
Response.Write("</div>")
Response.Write("</td>")
Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
%>

Jeg vil gerne den skal vise 6 stk. og ikke kun én.
Prøvede med Select Top 6 * FROM premiere, men det virkede ikke. Så har jeg prøvet at sætte en loop en, men dette kunne jeg heller ikke få til at virke. Randomize skal være med, da jeg ikke kun vil vise fra top eller bund.
Avatar billede michael_stim Ekspert
09. april 2004 - 10:34 #1
Sql = "SELECT * FROM premiere LIMIT 6"

Og så skal den selvfölgelig ind i en loop, ellers får du kun den förste post.
Avatar billede michael_stim Ekspert
09. april 2004 - 10:35 #2
Tror ikke access accepterer LIMIT, så har du access går den ikke.
Avatar billede plato Juniormester
09. april 2004 - 10:39 #3
Det er access. Andre forslag?
Avatar billede michael_stim Ekspert
09. april 2004 - 10:41 #4
en do while loop.
Avatar billede plato Juniormester
09. april 2004 - 10:43 #5
Prøver. Vender tilbage :-)
Avatar billede michael_stim Ekspert
09. april 2004 - 10:45 #6
poster=0
while (not rs.eof) and (poster<=5) ...
  poster=poster+1
  ..
  rs.movenext

OBS er ikke testet
Avatar billede hansdam Nybegynder
09. april 2004 - 11:57 #7
Jeg har leget lidt med din kode, og fundet denne løsning på dit problem:
------------------------------------------------------
Set Conn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
Conn.Open Application("Provider")
Sql = "SELECT * FROM premiere"
rs.Open Sql, Conn, 1

antalRandom = 6
inDB = rs.RecordCount
If inDB > antalRandom then
  Randomize timer
  newId = Int (rnd*inDB)
  strIndex = "," & newid & ","
  indexFound = 1
  Do while indexFound < antalRandom
    Do
      Newid = Int (rnd*inDB)
    Loop while inStr(strIndex,"," & newid & ",") > 0
    strIndex = strIndex & newid & ","
    indexFound = indexFound + 1
  Loop
  strIndex = mid (strIndex,2,len(strIndex)-2)
  myArr=split(strIndex,",",-1)

For i = Lbound(myArr) to Ubound(myArr)
    rs.move myArr(i),1


Response.Write("<td valign='top'>")
Response.Write("<div align='center'>")
Response.Write("<a href='trailer.asp?id=" & rs("link") & "'><img border='0' src='pics/" & rs("pic") & "' width='95' height='138' alt='" & rs("titel") & "'></a>")
Response.Write("</div>")
Response.Write("</td>")

  next
 
  end if


Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
------------------------------------------------------
Skal lige siges at jeg har fundet meget hjælp i dette spørgsmål:
http://www.eksperten.dk/spm/217390

/Hans
Avatar billede plato Juniormester
09. april 2004 - 15:50 #8
hansdam

Virker som en drøm :-)
Avatar billede hansdam Nybegynder
09. april 2004 - 21:54 #9
Super :-D -> husk at acceptere :P
Avatar billede plato Juniormester
09. april 2004 - 22:26 #10
Åhh ja...Man skal huske at markere den.. Har nemlig trykket på accepter. :-)
Avatar billede hansdam Nybegynder
09. april 2004 - 22:32 #11
takker for points :-D
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