Generate a table with ASP

Discussion in 'ASP General' started by Øyvind Isaksen, Mar 23, 2005.

  1. Hi!

    I need to create a table with 4 cols and X rows based on the number records
    in my database. I dont know how this can be done, mabye with an array?

    If I got for example 6 records in my database, a table with 4 cols and 2
    rows should be generated, the last row will only have 2 cols with
    information...

    Like this:

    <table>
    <tr>
    <td>Record1</td>
    <td>Record2</td>
    <td>Record3</td>
    <td>Record4</td>
    </tr>
    <tr>
    <td>Record5</td>
    <td>Record6</td>
    <td></td>
    <td></td>
    </tr>
    </table>

    -----------------------------------

    This is what I have made so far:
    <table>
    <%
    set rsArt= server.CreateObject("adodb.recordset")
    rsArt.Open SQL,conn

    do until rsArt.EOF

    rsArt.MoveNext
    loop

    rsArt.Close
    set rsArt = nothing
    %>
    </table>

    -----------------------------------


    Can someone please help me with this one???

    Regards,
    Øyvind Isaksen
    Øyvind Isaksen, Mar 23, 2005
    #1
    1. Advertising

  2. So, your recordset just has one column being returned? How about something
    like:


    <table>
    <%
    Const COLUMNS = 4
    Dim i : i = 0

    Do While Not rs.EOF
    If i Mod COLUMNS = 0 Then Response.Write " <tr>" & vbCrLf
    Response.Write " <td>" & rs(0) & "</td>" & vbCrLf
    If i Mod COLUMNS = COLUMNS - 1 Then Response.Write " </tr>" & vbCrLf
    i = i + 1
    rs.MoveNext
    Loop



    ''fill in some empty tds with &nbsp; if needed
    If i Mod COLUMNS <> 0 Then
    For j = 1 To COLUMNS - (i Mod COLUMNS)
    Response.Write " <td>&nbsp;</td>" & vbCrLf
    Next
    Response.Write " </tr>"
    End If
    %>
    </table>

    Ray at work

    "Øyvind Isaksen" <> wrote in message
    news:%23N%...
    > Hi!
    >
    > I need to create a table with 4 cols and X rows based on the number

    records
    > in my database. I dont know how this can be done, mabye with an array?
    >
    > If I got for example 6 records in my database, a table with 4 cols and 2
    > rows should be generated, the last row will only have 2 cols with
    > information...
    >
    > Like this:
    >
    > <table>
    > <tr>
    > <td>Record1</td>
    > <td>Record2</td>
    > <td>Record3</td>
    > <td>Record4</td>
    > </tr>
    > <tr>
    > <td>Record5</td>
    > <td>Record6</td>
    > <td></td>
    > <td></td>
    > </tr>
    > </table>
    >
    > -----------------------------------
    >
    > This is what I have made so far:
    > <table>
    > <%
    > set rsArt= server.CreateObject("adodb.recordset")
    > rsArt.Open SQL,conn
    >
    > do until rsArt.EOF
    >
    > rsArt.MoveNext
    > loop
    >
    > rsArt.Close
    > set rsArt = nothing
    > %>
    > </table>
    >
    > -----------------------------------
    >
    >
    > Can someone please help me with this one???
    >
    > Regards,
    > Øyvind Isaksen
    >
    >
    Ray Costanzo [MVP], Mar 23, 2005
    #2
    1. Advertising

  3. Øyvind Isaksen

    Phill. W Guest

    "Øyvind Isaksen" <> wrote in message
    news:%23N%...
    > If I got for example 6 records in my database, a table with 4 cols
    > and 2 rows should be generated, the last row will only have 2 cols
    > with information...


    Something like this?

    Do While Not rsArt.EOF
    RW "<tr>"
    For iCol = 1 To 4
    If Not rsArt.EOF Then
    RW "<td>" & celldata & "</td>"
    rsArt.MoveNext
    Else
    ' Empty cell after all the data
    RW "<td></td>"
    End If
    Next
    RW "</tr>"
    Loop

    HTH,
    Phill W.
    Phill. W, Mar 23, 2005
    #3
  4. Øyvind Isaksen

    McKirahan Guest

    "Øyvind Isaksen" <> wrote in message
    news:#N#...
    > Hi!
    >
    > I need to create a table with 4 cols and X rows based on the number

    records
    > in my database. I dont know how this can be done, mabye with an array?
    >
    > If I got for example 6 records in my database, a table with 4 cols and 2
    > rows should be generated, the last row will only have 2 cols with
    > information...
    >
    > Like this:
    >
    > <table>
    > <tr>
    > <td>Record1</td>
    > <td>Record2</td>
    > <td>Record3</td>
    > <td>Record4</td>
    > </tr>
    > <tr>
    > <td>Record5</td>
    > <td>Record6</td>
    > <td></td>
    > <td></td>
    > </tr>
    > </table>
    >
    > -----------------------------------
    >
    > This is what I have made so far:
    > <table>
    > <%
    > set rsArt= server.CreateObject("adodb.recordset")
    > rsArt.Open SQL,conn
    >
    > do until rsArt.EOF
    >
    > rsArt.MoveNext
    > loop
    >
    > rsArt.Close
    > set rsArt = nothing
    > %>
    > </table>
    >
    > -----------------------------------
    >
    >
    > Can someone please help me with this one???
    >
    > Regards,
    > Øyvind Isaksen
    >
    >


    Will this help?


    <table>
    <tr>
    <%
    const rows = 4
    dim i, j
    i = 0
    j = 0
    set rsArt= server.CreateObject("adodb.recordset")
    rsArt.Open SQL,conn
    do until rsArt.EOF
    i = i + 1
    if i > 1 and i Mod rows = 1 then
    j = 0
    %>
    </tr>
    <tr>
    <% end if %>
    <td><%=rsArt("field_name")%></td>
    <%
    j = j + 1
    rsArt.MoveNext
    loop
    rsArt.Close
    set rsArt = nothing

    for i = 1 to rows - j
    %>
    <td>&nbsp;</td>
    <%
    next
    %>
    McKirahan, Mar 23, 2005
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Weng Tianxiang
    Replies:
    5
    Views:
    1,298
    Christophe
    Feb 16, 2006
  2. David Williams
    Replies:
    2
    Views:
    1,105
    Jacob Yang [MSFT]
    Aug 12, 2003
  3. Replies:
    3
    Views:
    396
    red floyd
    Apr 7, 2006
  4. Replies:
    9
    Views:
    485
    Bruno Desthuilliers
    Dec 28, 2007
  5. Harlan Messinger
    Replies:
    2
    Views:
    2,278
    John Bell
    Mar 28, 2010
Loading...

Share This Page