|
||||
|
Display Data In Newspaper Column Format Table
How to display data results from a query in a multiple column table
listing the data vertically from top to bottom, similarly to newspaper format.
Let's say that you are creating an employee list of employees and phone numbers and wish
to have the results sorted in three columns verticaly.
For example records 0 - 10 would be in the first column, 11 - 21
in the second and 22 - 32 in the last (third column).
So, basicly it displays in "Newspaper Column" format.
Here is a process that can do that for you and even give you the flexibility to change
only the number of columns and the data that is displayed.
Like a grid, x will represent horizontal and y represents vertical.
Here is the code to display data results in a three column format:
<%
SqlStr = "SELECT Employee, PhNum " & _
"FROM TheTable " & _
"ORDER BY Employee "
Set objRS = Server.CreateObject ("ADODB.RecordSet")
objrs.Open SqlStr, ConStr, adOpenStatic, adLockOptimistic,adCmdText
'This is how many columns you want
NumCols = 3
NumRecs = objrs.RecordCount
NumEachCol = NumRecs/NumCols
If (NumRecs Mod NumCols) > 0 Then
TempNumRecs = NumRecs + (NumCols-(NumRecs Mod NumCols))
NumEachCol = TempNumRecs /NumCols
End If
Response.Write "<table>"
Response.Write "<tr>"
For x = 0 to NumCols - 1
'Column Headings
Response.Write "<td>Employee</td>"
Response.Write "<td>Phone Num</td>"
Next
Response.Write "</tr>"
For y = 0 to NumEachCol-1
Response.Write "<tr>"
For x = 0 to NumCols-1
'Calculate the next record number in the row
RecNum = y + (NumEachCol * x)
'Check to make sure we haven't run out of records
If RecNum < NumRecs Then
objrs.MoveFirst
objrs.Move RecNum
Response.Write "<td>" & objrs("Employee") & "</td>"
Response.Write "<td>" & objrs("PhNum") & "</td>"
Else
Response.Write "<td> </td>"
Response.Write "<td> </td>"
End If
Next
Response.Write "</tr>"
Next
Response.Write "</table>"
objrs.Close
Set objRS = Nothing
%>
Here is a similar example of the code above. Because I do not have an
employee database loaded on this domain, I will run a query to show the
last 50 unique pages viewed and order them by the last date and time they were viewed.
Because of available page space, I will run it in a two column format.
Notice that the results read top to bottom in each column before spilling over to the next column.
|
|||