本文匆匆已經全面測試,支持ASP+ACCESS以及ASP+SQL,請修改相關部分就可以了。
注意,匆匆謝絕基礎問題回答,已經本代碼已經很簡單,如果還不懂可以參閱本站其他欄目。
- <!--#include file="conn.asp"-->
- <% '以上為包含數據庫銜接文件
- '--------------------------------------------查詢開始數據庫
- set rs=server.CreateObject("adodb.recordset")
- rs.open "select * from books where id="&id&" order by id desc",conn,1,1
- if err.number<>0 then
- response.write "數據庫中無數據"
- end if
- '------------------------------------------分頁開始
- if rs.recordcount=0 then
- respose.write "沒有數據"
- else
- rs.PageSize =10 '每頁記錄條數
- iCount=rs.RecordCount '記錄總數
- iPageSize=rs.PageSize
- maxpage=rs.PageCount
- page=request("page")
- if Not IsNumeric(page) or page="" then
- page=1
- else
- page=cint(page)
- end if
- if page<1 then
- page=1
- elseif page>maxpage then
- page=maxpage
- end if
- rs.AbsolutePage=Page
- if page=maxpage then
- x=iCount-(maxpage-1)*iPageSize
- else
- x=iPageSize
- end if
- For i=1 To x
- '根據實際從庫中獲得數據并顯示數據
- '-------------------------------------------
- 'data=rs("data")
- 'response.write"DATA:"&data
- '-------------------------------------------
- rs.movenext
- next
- call PageControl(iCount,maxpage,page,"border=0 align=center","<p align=center>")
- end if
- rs.close
- set rs=nothing
- Sub PageControl(iCount,pagecount,page,table_style,font_style)
- '生成上一頁下一頁鏈接
- Dim query, a, x, temp
- action = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")
- query = Split(Request.ServerVariables("QUERY_STRING"), "&")
- For Each x In query
- a = Split(x, "=")
- If StrComp(a(0), "page", vbTextCompare) <> 0 Then
- temp = temp & a(0) & "=" & a(1) & "&"
- End If
- Next
- Response.Write("<table width=100% border=0 cellpadding=0 cellspacing=0 bgcolor=#f1f1f1>" & vbCrLf )
- Response.Write("<form method=get onsubmit=""document.location = '" & action & "?" & temp & "Page='+ this.page.value;return false;""><TR bgcolor=#f1f1f1>" & vbCrLf )
- Response.Write("<TD align=center height=35>" & vbCrLf )
- Response.Write(font_style & vbCrLf )
- if page<=1 then
- Response.Write ("首 頁 " & vbCrLf)
- Response.Write ("上一頁 " & vbCrLf)
- else
- Response.Write("<A HREF=" & action & "?" & temp & "Page=1>首 頁</A> " & vbCrLf)
- Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page-1) & ">上一頁</A> " & vbCrLf)
- end if
- if page>=pagecount then
- Response.Write ("下一頁 " & vbCrLf)
- Response.Write ("尾 頁 " & vbCrLf)
- else
- Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page+1) & ">下一頁</A> " & vbCrLf)
- Response.Write("<A HREF=" & action & "?" & temp & "Page=" & pagecount & ">尾 頁</A> " & vbCrLf)
- end if
- Response.Write(" 頁次:" & page & "/" & pageCount & "頁" & vbCrLf)
- Response.Write(" 共有" & iCount & "個記錄" & vbCrLf)
- Response.Write(" 轉到" & "<INPUT CLASS=wenbenkuang TYEP=TEXT NAME=page SIZE=2 Maxlength=5 VALUE=" & page & ">" & "頁" & vbCrLf & "<INPUT CLASS=go-wenbenkuang type=submit value=GO>")
- Response.Write("</TD>" & vbCrLf )
- Response.Write("</TR></form>" & vbCrLf )
- Response.Write("</table>" & vbCrLf )
- End Sub
- %>
本代碼絕對無錯!