/**
@作者 : 慈勤强
@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 。