Avatar billede dkkarpen Nybegynder
27. maj 2002 - 18:38 Der er 10 kommentarer og
1 løsning

Array problem

Jeg kan ikke få mit array til at virke. Det er kun data fra den første løkke der udskrives når jeg løber mit array igennem. Her er koden:

    SQL = "Select * from artikler where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        A = "<tr><td class=""overskrift""><a href="""
       
        if rs("link") <> "" then
        A = A & rs("link") & """>" & rs("titel") & "</a><br><br></td></tr>"
        else
        A = A & "artikler.asp?mode=vis&artikel=true&kategoriid=" & rs("kategoriid") & "&id=" & rs("artikelid") & """>" & rs("titel") & "</a></td></tr>"
        A = A & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        end if
       
       
        A1(0,i) = (A)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if
   
    SQL = "Select * from subpages where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        B = "<tr><td class=""overskrift""><a href=""artikler.asp?mode=vis_subpage&kategoriid=" & rs("kategoriid") & "&subpageid=" & rs("subpageid") & """>" & rs("titel") & "</a></td></tr>"
        B = B & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        A1(0,i) = (B)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if
   
    SQL = "Select * from pressemeddelelser where forside = 1"
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        C = "<tr><td class=""overskrift""><a href=""pressemeddelelser.asp?mode=vis&kategoriid=2&id=" & rs("presseid") & """>" & rs("titel") & "</a></td></tr>"
        C = C & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"

        A1(0,i) = (C)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if


for e = 0 to Ubound(A1)
Response.Write A1(row,e)
next
Avatar billede medions Nybegynder
27. maj 2002 - 18:43 #1
Prøv med denne:
  <%
    SQL = "Select * from artikler where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        while not rs.eof
        A = "<tr><td class=""overskrift""><a href="""
       
        if rs("link") <> "" then
        A = A & rs("link") & """>" & rs("titel") & "</a><br><br></td></tr>"
        else
        A = A & "artikler.asp?mode=vis&artikel=true&kategoriid=" & rs("kategoriid") & "&id=" & rs("artikelid") & """>" & rs("titel") & "</a></td></tr>"
        A = A & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        end if
       
       
        A1(0,i) = (A)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        wend
    end if
   
    SQL = "Select * from subpages where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        B = "<tr><td class=""overskrift""><a href=""artikler.asp?mode=vis_subpage&kategoriid=" & rs("kategoriid") & "&subpageid=" & rs("subpageid") & """>" & rs("titel") & "</a></td></tr>"
        B = B & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        A1(0,i) = (B)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if
   
    SQL = "Select * from pressemeddelelser where forside = 1"
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        C = "<tr><td class=""overskrift""><a href=""pressemeddelelser.asp?mode=vis&kategoriid=2&id=" & rs("presseid") & """>" & rs("titel") & "</a></td></tr>"
        C = C & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"

        A1(0,i) = (C)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if


for e = 0 to Ubound(A1)
Response.Write A1(row,e)
next
%>

Kommer den evt. med en fejl medelse?
//>Rune
Avatar billede dkkarpen Nybegynder
27. maj 2002 - 18:46 #2
Så er det helt tomt
Avatar billede dkkarpen Nybegynder
27. maj 2002 - 18:47 #3
Jeg definerer det sådan her:

Dim A1 (2,300)

CONST row = 0
CONST dato = 1
Avatar billede medions Nybegynder
27. maj 2002 - 18:49 #4
Hmm.. hvad så med denne:

  <%
    strSQLCount = "Select Count(*) from artikler where forside = 1 and userlevel >= " & session("usertypeid")
    Set objCount = Conn.Execute(strSQLCount)
   
    SQL = "Select * from artikler where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        For i = 0 To objCount(0)
        A = "<tr><td class=""overskrift""><a href="""
       
        if rs("link") <> "" then
        A = A & rs("link") & """>" & rs("titel") & "</a><br><br></td></tr>"
        else
        A = A & "artikler.asp?mode=vis&artikel=true&kategoriid=" & rs("kategoriid") & "&id=" & rs("artikelid") & """>" & rs("titel") & "</a></td></tr>"
        A = A & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        end if
       
       
        A1(0,i) = (A)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.MoveNext
        Next
    end if
   
    SQL = "Select * from subpages where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        B = "<tr><td class=""overskrift""><a href=""artikler.asp?mode=vis_subpage&kategoriid=" & rs("kategoriid") & "&subpageid=" & rs("subpageid") & """>" & rs("titel") & "</a></td></tr>"
        B = B & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        A1(0,i) = (B)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if
   
    SQL = "Select * from pressemeddelelser where forside = 1"
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        C = "<tr><td class=""overskrift""><a href=""pressemeddelelser.asp?mode=vis&kategoriid=2&id=" & rs("presseid") & """>" & rs("titel") & "</a></td></tr>"
        C = C & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"

        A1(0,i) = (C)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if


for e = 0 to Ubound(A1)
Response.Write A1(row,e)
next
%>

//>Rune
Avatar billede dkkarpen Nybegynder
27. maj 2002 - 18:53 #5
Nej den udskriver kun en del af første løkke
Avatar billede medions Nybegynder
27. maj 2002 - 18:55 #6
<%
    strSQLCount = "Select Count(*) from artikler where forside = 1 and userlevel >= " & session("usertypeid")
    Set objCount = Conn.Execute(strSQLCount)
   
    SQL = "Select * from artikler where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        For i = 0 To objCount(0)
        A = "<tr><td class=""overskrift""><a href="""
       
        if rs("link") <> "" then
        A = A & rs("link") & """>" & rs("titel") & "</a><br><br></td></tr>"
        else
        A = A & "artikler.asp?mode=vis&artikel=true&kategoriid=" & rs("kategoriid") & "&id=" & rs("artikelid") & """>" & rs("titel") & "</a></td></tr>"
        A = A & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        end if
       
       
        A1(0,i) = (A)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.MoveNext
        Next
    end if
   
    SQL = "Select * from subpages where forside = 1 and userlevel >= " & session("usertypeid")
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        do while not rs.eof
        B = "<tr><td class=""overskrift""><a href=""artikler.asp?mode=vis_subpage&kategoriid=" & rs("kategoriid") & "&subpageid=" & rs("subpageid") & """>" & rs("titel") & "</a></td></tr>"
        B = B & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"
        A1(0,i) = (B)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.movenext
        loop
    end if
   
    SQLCountt = "Select * from pressemeddelelser where forside = 1"
    Set objCount2 = Conn.Execute(SQLCountt)
    SQL = "Select * from pressemeddelelser where forside = 1"
    Set rs = Conn.execute(SQL)
    if rs.eof then
    else
        For i = 0 To objCount2(0)
        C = "<tr><td class=""overskrift""><a href=""pressemeddelelser.asp?mode=vis&kategoriid=2&id=" & rs("presseid") & """>" & rs("titel") & "</a></td></tr>"
        C = C & "<tr><td>" & rs("teaser") & "<br><br></td></tr>"

        A1(0,i) = (C)
        A1(1,i) = (rs("oprettet"))
        i = i + 1
        rs.MoveNext()
        Next
    end if


for e = 0 to Ubound(A1)
Response.Write A1(row,e)
next
%>

hvad så med denne :-)
//>Rune
Avatar billede dkkarpen Nybegynder
27. maj 2002 - 19:00 #7
Nej - hvorfor vil du tilføje en post til array efter hvor mange records der matcher min sql streng?
Avatar billede medions Nybegynder
27. maj 2002 - 19:03 #8
Well, det er jo bare for at lave en anden form for løkke! - det hænder nogen gange det virker! :-)

//>Rune
Avatar billede dkkarpen Nybegynder
27. maj 2002 - 19:10 #9
Well Dim A1 (300,2)

virkede....
Avatar billede dkkarpen Nybegynder
27. maj 2002 - 19:11 #10
Lukket
Avatar billede medions Nybegynder
27. maj 2002 - 19:14 #11
Hva? Så ville du få fejl! Der er ikke noget der hedder Dim i ASP, det er Visual Basic!

//>Rune
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