Avatar billede tblaster Nybegynder
22. september 2003 - 10:39 Der er 5 kommentarer og
1 løsning

Poster fra db skal udskrives i tabel over flere kolonner

Jeg henter en liste ud fra min database som udskrives som følgende:

Vælg et html:
[Ny]
Html 1
Html 2
Html 3
Html 4
Html 5
Html 6

Hvordan får jeg det udskrevet i en tabel som føgende:

Vælg et html:
[Ny]        Html 3          Html 6
Html 1      Html 4          Html 7
Html 2      Html 5          Html 8

Her er min kode:

    Sql= "SELECT HtmlID From Html Where TemaOmrådeID = " & Request("Tema") & " Order By HtmlID"
    Rs.Open Sql, Conn, 1
   
    Response.write "Vælg et html:<br>"
    Response.write "<a href=""java script:void(1)"" onclick=""window.open('System.asp?Funktion=DHTML&HtmlID=NY&TemaOmrådeID=" & Request("Tema") & "','Stylesheet','width=850,height=800');"">[Ny]</a><br>"
   
    Counter = 1
   
    Do while not rs.eof
        db_HtmlID                     = rs("HtmlID")
       
        Response.write "<a href=""java script:void(1)"" onclick=""window.open('System.asp?Funktion=DHTML&HtmlID=" &  db_HtmlID &"','Stylesheet','width=850,height=800');"">Html " & Counter & "</a><br>"
        Counter = Counter + 1
       
        rs.movenext
    loop

Hvis der er behov for at vide hvormange poster det er som sql sætninger har hentet ud så ligger dette i varriablen "Antal"
Avatar billede thesurfer Nybegynder
22. september 2003 - 10:58 #1
du skal sådan set bare bruge lidt matematik..

hvis der skal være 3 felter i hver kolonne, bruger du:

start tabel
start række
felter = antal / 3
slut række
start række
felter = antal / 3
slut række
...
slut tabel

dvs.. du får antal kolonner ved at dividere "Antal" med "antal felter per kolonne" og runder OP (lige meget hvad der står efter kommaet)..

eksempel:

du har 8 felter i din database.. 8 / 3 ~ 2.67.
du runder så 2.67 op til 3.. dvs 3 kolonner..

13 felter i database / 3 felter per kolonne ~ 4.3 (som rundes op) -> 5 kolonner.
Avatar billede tblaster Nybegynder
22. september 2003 - 11:03 #2
Men hvordan skal hele tabellen så bygges op?
Avatar billede thesurfer Nybegynder
22. september 2003 - 11:19 #3
jeg mener at en tabel bliver læst vandret.. dvs:

[ny]  HTML1 HTML2 HTML3
HTML3 HTML4 HTML5 HTML6
HTML7 HTML8

tabel eksempel:

<table border="1" width="100%">
  <tr>
    <td width="33%">[NY]</td>
    <td width="33%">HTML1</td>
    <td width="34%">HTML2</td>
  </tr>
  <tr>
    <td width="33%">HTML3</td>
    <td width="33%">HTML4</td>
    <td width="34%">HTML5</td>
  </tr>
  <tr>
    <td width="33%">HTML6</td>
    <td width="33%">HTML7</td>
    <td width="34%">HTML8</td>
  </tr>
</table>
Avatar billede thesurfer Nybegynder
22. september 2003 - 11:20 #4
rettelse:

[ny]  HTML1 HTML2
HTML3 HTML4 HTML5
HTML6 HTML7 HTML8
Avatar billede tblaster Nybegynder
22. september 2003 - 11:42 #5
Jeg kan ikke lige se hvordan oversåtende automatisk bliver størrere hvis der lige kommer en HTML 9 med in i billidet ... så skal det jo gerne se således ud:
[ny]  HTML3 HTML6  HTML9
HTML1 HTML4 HTML7
HTML2 HTML5 HTML8
Avatar billede tblaster Nybegynder
22. september 2003 - 13:29 #6
Sql= "SELECT HtmlID From Html Where TemaOmrådeID = " & Request("Tema") & " Order By HtmlID"
    Rs.Open Sql, Conn, 1
   
    Response.write "Vælg et html:<br>"
   
    Response.write "<table border=""0"">"
    Response.write "<tr>"   
    Response.write "<td width=""80"">"
   
    Response.write "<a href=""java script:void(1)"" onclick=""window.open('System.asp?Funktion=DHTML&HtmlID=NY&TemaOmrådeID=" & Request("Tema") & "','Stylesheet','width=850,height=800');"">[Ny]</a><br>"
   
    Antal = 1
    Counter = 1
   
    Do while not rs.eof
        db_HtmlID                     = rs("HtmlID")
       
        Response.write "<a href=""java script:void(1)"" onclick=""window.open('System.asp?Funktion=DHTML&HtmlID=" &  db_HtmlID &"','Stylesheet','width=850,height=800');"">Html " & Counter & "</a><br>"
        Antal = Antal + 1
        Counter = Counter + 1
       
        If Antal = 3 Then
            Response.write "</td><td width=""80"">"
            Antal = 0
        End IF
       
        rs.movenext
    loop
   
    If Antal = 1 Then
        Response.write "<br><br>"
    Elseif Antal = 2 Then
        Response.write "<br>"
    End IF
   
    Response.write "</td></tr>"
    Response.write "</table>"
   
    dbClose()
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