Generate a table with ASP

Ø

Øyvind Isaksen

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
 
R

Ray Costanzo [MVP]

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
 
P

Phill. W

Øyvind Isaksen said:
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.
 
M

McKirahan

Øyvind Isaksen said:
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
%>
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top