什么都不做,就是查询数据,一页显示多少条就查询多少条数据出来。这样的速度应该是很快的了吧?哈哈。。思路就是,给ID值出来,使用此ID值做下一页或上一页的查询条件,并且还要排序!!在这里查询结果排序也起了很重要的作用!!!!
示例代码如下: <!--#include file="Conn.asp"--> <% Dim aFlag,NowID,LastID,iShowNum iShowNum=20 '一页显示多少条记录 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>无标题文档</title> <style type="text/css"> <!-- td { font-family: "宋体"; font-size: 12px; } a:link { font-family: "宋体"; font-size: 12px; color: #999999; text-decoration: none; } a:visited { font-family: "宋体"; font-size: 12px; color: #999999; text-decoration: none; } a:active { font-family: "宋体"; font-size: 12px; color: #999999; text-decoration: none; } a:hover { font-family: "宋体"; font-size: 12px; color: #FF9900; text-decoration: underline; } --> </style> </head>
<body> <table width="750" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#D5D5D5"> <tr bgcolor="#F3F3F3"> <td width="10%" height="25" bgcolor="#F3F3F3"><div align="center"><strong>序号</strong></div></td> <td width="25%" height="25"><div align="center"><strong>电影名称</strong></div></td> <td width="57%" height="25" bgcolor="#F3F3F3"><div align="center"><strong>电影URL地址</strong></div></td> <td width="8%" height="25"><div align="center"><strong>类型</strong></div></td> </tr> <% Call Show_List %> <tr bgcolor="#F3F3F3"> <td height="20" colspan="4"><div align="right"><a href="Index.asp?aFlag=Fir">[首页]</a> <a href="Index.asp?aFlag=Pre&sID=<%=NowID%>">[上一页]</a> <a href="Index.asp?aFlag=Nex&sID=<%=LastID%>">[下一页]</a> <a href="Index.asp?aFlag=End">[尾页]</a></div></td> </tr> </table> </body> </html> <% Call CloseDatabase
Sub Show_List Dim LastFlag,NowFlag Dim ArrayRow aFlag=Request("aFlag") NowID=Request("sID") Select Case aFlag Case "Nex" If NowID<>"" Then Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Where ID>"&NowId&" Order By ID Asc" Else Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Order By ID Desc" End If Case "Pre" If NowID<>"" Then Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Where ID<"&NowId&" Order By ID Desc" Else Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie]" End If Case "End" Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Order By ID Desc" Case Else Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie]" End Select Set Rs=Conn.Execute(Sql) LastFlag=False NowFlag=False If Rs.Eof Then Rs.Close Set Rs=Nothing Exit Sub End If '获取数据到一个二维数组 ArrayRow=Rs.GetRows() Dim iFrom,iTo,iStep If aFlag="Pre" Or aFlag="End" Then iFrom=Ubound(ArrayRow,2) iTo=0 iStep=-1 Else iFrom=0 iTo=Ubound(ArrayRow,2) iStep=1 End If NowID=ArrayRow(0,iFrom) LastID=ArrayRow(0,iTo) For i=iFrom To iTo Step iStep Response.Write " <tr bgcolor=""#FDFDFD"" style=""cursor:hand"" onmouseover=""this.style.background='#F3F3F3'"" onmouseout=""this.style.background='#FDFDFD'"">" Response.Write " <td height=""20""><div align=""center"">"&ArrayRow(0,i)&"</div></td>" Response.Write " <td>"&ArrayRow(1,i)&"</td>" Response.Write " <td>"&ArrayRow(2,i)&"</td>" Response.Write " <td>"&ArrayRow(3,i)&"</td>" Response.Write " </tr>" Next Rs.Close Set Rs=Nothing End Sub %> 
|