数据库记录集的分列显示
发表于: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