在分页显示中最好用URL传递参数
完整分页显示的示例,我的习惯是写两个页面
自己做适当修改
index.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../inc/dbconn.inc" -->
<%
Set rs=Server.CreateObject("ADODB.Recordset")
sql="Select * From gb Order By id Desc"
rs.Open sql,conn,1,1
currentPage=Request.QueryString("page") '当前页面
If Not IsEmpty(currentPage) Then
currentPage=CInt(currentPage)
Else
currentPage=1
End If
%>
<body oncontextmenu="window.event.returnValue=false;" onselectstart="window.event.returnValue=false;" ondragstart="window.event.returnValue=false;" onLoad="window.status='chinese patient';">
<br>
<table width="500" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td></td>
</tr>
<tr>
<td>
<% If rs.BOF And rs.EOF Then %>
<div align="center">no message</div>
<%
Else
rs.PageSize=8 '设置每页显示8条记录
totalPut=rs.RecordCount '记录总数
totalPage=rs.PageCount '页面总数
MaxPerPage=rs.PageSize '每页最大记录数
If currentpage<1 Then
currentpage=1
End If
If currentpage>totalPage Then
currentpage=totalPage
End If
If currentPage=1 Then
showpages
showContent
showpages
Else
If (currentPage-1)*MaxPerPage<totalPut Then
rs.Move (currentPage-1)*MaxPerPage
Dim bookmark
bookmark=rs.BookMark '移动到开始显示的记录位置
showpages
showContent
showpages
End If
End If
rs.Close
End If
Set rs=Nothing
conn.Close
Set conn=Nothing
Sub showContent
Dim i,k
k=(totalPut-MaxPerPage*(currentPage-1))+1
i=0
Do While Not (rs.EOF Or Err)
k=k-1
%>
</td>
</tr>
<tr>
<td>No.<%= k %></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100" class="font8pt"><%= rs("name") %></td>
<td width="400" class="font8pt"><%= rs("text") %></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20%">
<% If rs("homepage")="還沒有主頁!" Then %>
<a href="javascript:alert('還沒有主頁!');" title="homepage: <%= rs("homepage") %>">homepage</a>
<% Else %>
<a href="<%= rs("homepage") %>" title="homepage: <%= rs("homepage") %>" target="_blank">homepage</a>
<% End If %>
</td>
<td width="20%">
<% If rs("email")="還沒有電郵!" Then %>
<a href="javascript:alert('還沒有電郵!');" title="email: <%= rs("email") %>">email</a>
<% Else %>
<a href="mailto:<%= rs("email") %>" title="email: <%= rs("email") %>">email</a>
<% End If %>
</td>
<td width="20%"> </td>
<td width="40%"> <div align="right">time: <%= rs("time") %></div></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0" class="border01">
<tr>
<td width="100"><font color="#666666">reply:</font></td>
<td width="400"><font color="#666666"><span class="font8pt"><%= rs("answer") %></span></font></td>
</tr>
</table></td>
</tr>
<tr>
<td>
<%
i=i+1
If i>=MaxPerPage Then Exit Do '循环时如果到尾部则先退出,如果记录达到页最大显示数,也退出
rs.MoveNext
Loop
End Sub
Sub showpages()
Dim n
n=totalPage
%>
</td>
</tr>
<tr>
<td class="border01"> pages:
<%
If currentPage<>1 Then
Response.Write("<a href='index.asp?page="&(currentPage-1)&"'><font face='宋体' size='1'><< </font></a>")
End If
If rs.PageCount<=8 Then
For i=1 To rs.PageCount
Response.Write("[<a href='index.asp?page="&i&"'>"&i&"</a>]")
Next
Else
For i=1 To 8
Response.Write("[<a href='index.asp?page="&i&"'>"&i&"</a>]")
Next
End If
If currentPage<>rs.PageCount Then
Response.Write("<a href='index.asp?page="&(currentPage+1)&"'><font face='宋体' size='1'> >></font></a>")
End If
%>
savedata.asp
<!--#include file="../inc/char.inc" -->
<!--#include file="../inc/dbconn.inc" -->
<%
Dim uname,uemail,uhp,uip,utext,sql,strHTML
uname=Request.Form("uname")
uemail=Request.Form("uemail")
uhp=Request.Form("uhp")
uip=Request.ServerVariables("REMOTE_ADDR")
utext=Request.Form("utext")
If uname=Empty Or utext=Empty Then
strHTML="<body bgcolor='#CCCCCC' scroll='no' oncontextmenu='window.event.returnValue=false;' onselectstart='window.event.returnValue=false;' ondragstart='window.event.returnValue=false;' onLoad='window.status=chinese patient;'><br><br><br><br><br><div align='center'><font face='Verdana' size='1' color='#990000'>please enter name and content<br><a href='index.asp'><font face='Verdana' size='1' color='#333333'>back</font></a></font></div></body>"
Response.Write(strHTML)
Response.End()
End If
Set rs=Server.CreateObject("ADODB.Recordset")
sql="Select * From gb"
rs.Open sql,conn,3,3
rs.AddNew
rs("name")=htmlencode2(uname)
If uemail<>Empty Then
rs("email")=htmlencode2(uemail)
Else
rs("email")="還沒有電郵!"
End If
If uhp="http://" Then
rs("homepage")="還沒有主頁!"
Else
rs("homepage")=htmlencode2(uhp)
End If
rs("ip")=htmlencode2(uip)
rs("text")=htmlencode2(utext)
rs("time")=Now()
rs.Update
rs.Close
Set rs=Nothing
conn.Close
Set conn=Nothing
Response.Redirect("index.asp")
%>
sql="select * from youtable where 搜索的参数 like '%"&request("搜索的参数")&"%' "
set rscyc1=server.createobject("adodb.recordset")
rscyc1.open sql,conn,3,1
就可以了!!!