数据库记录集的分列显示

发表于:2007-06-30来源:作者:点击数: 标签:
数据库 记录集的分列显示 /** @作者 : 慈勤强 @Email : cq q1978@Gmail.com */ 在用asp、 php 或者其他语言从数据库中提取记录显示的时候,一般我们都是一行一行 的显示,一条记录一行,就像下面的样子: 姓名 性别 年龄 籍贯 慈勤强 男 26 山东省荣成市 李
数据库记录集的分列显示


/**
@作者 : 慈勤强
@Email : cqq1978@Gmail.com
*/

在用asp、php或者其他语言从数据库中提取记录显示的时候,一般我们都是一行一行

的显示,一条记录一行,就像下面的样子:


姓名 性别 年龄 籍贯
慈勤强 男 26 山东省荣成市
李冉 男 26 北京方庄

可是有时候,我们也需要分列显示,就是每行显示多条记录,特别是一些类别显示的,比如:

化工行业 纺织行业 服装鞋帽
电子信息 制造业 农林
水产


共三列,每行显示3条信息。

我看过一些朋友写的程序,有些写的不是很好,下面以asp为例说明:

一、普通写法

strSql = "Select name From Category"
Set objRs = objConn.Execute(strSql)
While Not objRs.EOF
@#每行的第一列
Response.Write objRs(0) & " "
objRs.MoveNext
@#第二列
Response.Write objRs(0) & " "
objRs.MoveNext
@#第三列
Response.Write objRs(0) & " "
objRs.MoveNext

@#重起一行
Response.Write "<br>"
Wend


二、改进的写法

iColumn = 3 @#每行显示3列
i=1 @#一个滚动的标记,每次加1
strSql = "Select name From Category"
Set objRs = objConn.Execute(strSql)

While Not objRs.EOF

Response.Write objRs(0) & " "
objRs.MoveNext

If i Mod iColumn=0 Then @#当输出三条记录时,就换行
Response.Write "<br>"
End If
i = i + 1
Wend


想必大家都已经看清楚了,我们只要在循环体内判断一下,

如果输出了3条记录,就打印一个换行符,重新开始一行输出。

这里用到了求余运算 Mod 。


原文转自:http://www.ltesting.net