主角被政府通缉的小说:ASP的 每行显示问题,需要每行显示5个

来源:百度文库 编辑:高校问答 时间:2024/05/06 02:44:56
请各位给个简单的例子

这是一个分页显示的问题。
<%''*建立数据库连接,这里是Oracle8.05数据库 Set conn=Server.CreateObject("ADODB.Connection") conn.Open "Provider=msdaora.1;Data Source=YourSrcName;User ID=YourUserID;Password=YourPassword;"
Set rs=Server.CreateObject("ADODB.Recordset") ''创建Recordset对象 rs.CursorLocation=adUseClient
''设定记录集指针属性
''*设定一页内的记录总数,可根据需要进行调整 rs.PageSize=10
''*设置查询语句
StrSQL="Select ID,姓名,住址,电话 from 通讯录 Order By ID"
rs.Open StrSQL,conn,adOpenStatic,adLockReadOnly,adCmdText%>
<HTML><
HEAD>
<title>分页示例</title>
<script language=javascript> //点击"[第一页]"时响应: function PageFirst() { document.MyForm.CurrentPage.selectedIndex=0; document.MyForm.CurrentPage.onchange(); } //点击"[上一页]"时响应: function PagePrior() { document.MyForm.CurrentPage.selectedIndex--; document.MyForm.CurrentPage.onchange(); } //点击"[下一页]"时响应: function PageNext() { document.MyForm.CurrentPage.selectedIndex++; document.MyForm.CurrentPage.onchange();}
//点击"[最后一页]"时响应: function PageLast() {
document.MyForm.CurrentPage.selectedIndex
=document.MyForm.CurrentPage.length-1;
document.MyForm.CurrentPage.onchange(); }
//选择"第?页"时响应: function PageCurrent() {
//Pages.asp是本程序的文件名 document.MyForm.action='Pages.asp?Page='+(document.MyForm.CurrentPage.selectedIndex+1)
document.MyForm.submit(); } </Script>
</HEAD>
<BODY bgcolor="#ffffcc" link="#008000" vlink="#008000" alink="#FF0000"">
<%IF rs.Eof THEN
Response.Write("<font size=2 color=#000080>[数据库中没有记录!]</font>")
ELSE
''指定当前页码 If Request("CurrentPage")="" Then
AbsolutePage=1
Else
rs.AbsolutePage=CLng(Request("CurrentPage"))
End If
''创建表单MyForm,方法为Get
Response.Write("<form method=Get name=MyForm>")
Response.Write("<p align=center><font size=2 color=#008000>")
''设置翻页超链接
if rs.PageCount=1 then
Response.Write("[第一页] [上一页] [下一页] [最后一页] ")
else
if rs.AbsolutePage=1 then
Response.Write("[第一页] [上一页] ")
Response.Write("[<a href=javascript:PageNext()>下一页</a>] ") Response.Write("[<a href=javascript:PageLast()>最后一页</a>] ")
else
if rs.AbsolutePage=rs.PageCount then
Response.Write("[<a href=javascript:PageFirst()>第一页</a>] ") Response.Write("[<a href=javascript:PagePrior()>上一页</a>] ") Response.Write("[下一页] [最后一页] ")
else
Response.Write("[<a href=javascript:PageFirst()>第一页</a>] ") Response.Write("[<a href=javascript:PagePrior()>上一页</a>] ") Response.Write("[<a href=javascript:PageNext()>下一页</a>] ") Response.Write("[<a href=javascript:PageLast()>最后一页</a>] ")
end if
end if
end if
''创建下拉列表框,用于选择浏览页码
Response.Write("第<select size=1 name=CurrentPage onchange=PageCurrent()>")
For i=1 to rs.PageCount
if rs.AbsolutePage=i then
Response.Write("<option selected>"&i&"</option>") ''当前页码
else
Response.Write("<option>"&i&"</option>")
end if
Next
Response.Write("</select>页/共"&rs.PageCount&"页 共"&rs.RecordCount&"
条记录</font>")
Response.Write("</form>")
''创建表格,用于显示
Response.Write("<table align=center cellspacing=1 cellpadding=1 border=1")
Response.Write(" bordercolor=#99CCFF bordercolordark=#b0e0e6 bordercolorlight=#000066>")
Response.Write("<tr bgcolor=#ccccff bordercolor=#000066>")
Set Columns=rs.Fields
''显示表头
For i=0 to Columns.Count-1
Response.Write("<td align=center width=200 height=13>")
Response.Write("<font size=2><b>"&Columns(i).name&"</b></font></td>") Next
Response.Write("</tr>")
''显示内容
For i=1 to rs.PageSize
Response.Write("<tr bgcolor=#99ccff bordercolor=#000066>")
For j=0 to Columns.Count-1
Response.Write("<td><font size=2>"&Columns(j)&"</font></td>")
Next
Response.Write("</tr>")
rs.movenext
if rs.EOF then exit for
Next
Response.Write("</table>")
END IF%>
</BODY>
</HTML>

主要的思路是:
1、首先要有一个循环,可以显示全部记录。
2、设定i=i+1的形式,给每一个记录设上顺序号
3、在循环体内部增加判断i除以5的余数,如果为0,则输出一个回行。

说明:
如果用for循环可以不用增加2的,可以直接判断循环的次数。
3中的回行可以是br或者是《/tr》《tr》,具体该选择什么看你的需要了。