ASP分页

最近一直在忙,有些郁闷,本来学的是ASP.NET(C#),而工作的却是用ASP,没办法只好从头再学了,不过还好,幸好以前学过一点ASP,所以学起来还算不难,下面是工作中用的一个分页,想想可能有用,就将其共享出来了,说不定哪天用的上呢,呵呵~~~~

<%
select case request("action")
 case "adds"
  call addword()   //调用addword()增加记录
 case "edit"
  call editword()
 case "del"
  call delword()
end select
   dim i
   dim ii
   dim j
   dim maxperpage '每页显示条数
   dim CurrentPage '当前页
   dim totalnumber '数据库中总记录数
   dim TotalPageNum '总页数  
   dim pagestart '首页
   dim pageend   '尾页
   dim maxpagecount '总页数
   dim pagination
   dim GotoPageType
 
   pagination = 0
   GotoPageType = 0
  
    maxperpage = 10 '每页显示数
    If Not IsNumeric(Request("page")) And Len(Request("page")) <> 0 Then
    Response.Write ("错误的系统参数!请输入整数")
    Response.Write
   End If
   If Not IsEmpty(Request("page")) And Len(Request("page")) <> 0 Then
    CurrentPage = CInt(Request("page"))  '取得当前页
   Else
    CurrentPage = 1
   End If
   TotalNumber = conn.Execute("Select count(id) from guestbook")(0) '从数据库中取得总的搜索关键字条数
   'Response.Write TotalNumber 
   TotalPageNum = CInt(TotalNumber / maxperpage)  '得到总页数
   
    '如果总页数少于当前实际页数,则将总页数变为当前实际页数
   If TotalPageNum < TotalNumber / maxperpage Then TotalPageNum = TotalPageNum + 1   
   '如果当前页数值少于1,则将其值变为1 
   If CurrentPage < 1 Then CurrentPage = 1
   '如果当前页数大于总页数,则将其变为总页数
   If CurrentPage > TotalPageNum Then CurrentPage = TotalPageNum 
%>
<html>
 <head>
  <title>搜索结果页面</title>
  <meta http-equiv="content-type" c>
 </head>
 <body>   
  <table>
   <tr>
    <td>id</td>
    <td>name</td>
    <td>tel</td>
    <td>message</td>
    <td>time</td>
    <td>operater</td>
   </tr>
   <%  
    dim rs
    dim sql
    dim name1
    dim tel   
    sql = "select * from guestbook"
    set rs = server.createobject("adodb.recordset")
    rs.open sql,conn,1,3
    if rs.bof and rs.eof then
     response.write "<li>对不起,没有你要搜索的内容!</li>"
    else
     If TotalPageNum > 1 then Rs.Move (CurrentPage - 1) * maxperpage
     i = 0
     j = (CurrentPage - 1) * maxperpage + 1
     do while not rs.eof and i < CInt(maxperpage)
   %>
   <tr>
    <form name="form2" action="search.asp?action=edit" method="post">
    <td> <%=rs("id")%></td>
    <td><input type="text" value="<%=rs("name")%>" name="name1"></td>
    <td><input type="text" value="<%=rs("tel")%>" name="tel"></td>
    <td><input type="text" value="<%=rs("message")%>" name="message"></td>
    <td><%=rs("time")%></td>
    <td align="center">    
     <input type=submit value="编辑" name="edits" class="button">&nbsp;&nbsp;  
     <a href="search.asp?id=<%=int(rs("id"))%>&action=del" >
       <font color=red>删除</font>
      </a>    
    </td>
    </form>
   </tr>
   <%
      rs.movenext
      i = i + 1
      j = j + 1
      If i >= maxperpage Then Exit Do 
     loop
    end if
    rs.close
   
    Response.Write " <tr><td height=""22"" colspan=""5"" class=""forumRowHighlight"">"
    Call showpage
    Response.Write "</td></tr>"
   %>
   <tr>
    <td>
     <form method="post" name="form3" action="search.asp?action=adds">
      name:<input type="text" name="name1">
      tel:<input type="text" name="tel">
      message:<input type="text" name="message">
      <input type="submit" name="submit1" value="添加">
      <input type="reset" name="submit2" value="重置">
     </form>
    </td>
   </tr>
  </table>
 </body>
</html>
<%
Sub addword //增加记录
 dim sql
 dim rs1
 set rs1 = server.createobject("adodb.recordset")
 sql = "select name,tel,message from guestbook"
 rs1.open sql,conn,1,3
 rs1.addnew
 if request.form("name1") = "" then
  response.write "<li>请输入姓名</li>"
 else
  rs1("name")=trim(request.form("name1"))
  rs1("tel")=trim(request.form("tel"))
  rs1("message")=trim(request.form("message"))
  rs1.update 
  rs1.close
  response.write "添加记录成功"
 end if
End Sub
Sub editword   //更新记录
 dim sql
 dim rs2
 set rs2 = server.createobject("adodb.recordset")
 sql = "select * from guestbook"
 rs2.open sql,conn,1,3
 rs2("name")=trim(request("name1"))
 rs2("tel")=trim(request.form("tel"))
 rs2("message")=trim(request.form("message"))
 rs2.update
 rs2.close
 response.write "编辑成功!"
End Sub
Sub delword     //删除记录
 dim sql
 sql = "delete from guestbook where id = "& request("id")
 conn.execute sql
 response.write "删除成功!"
End Sub
Private Sub showpage()
 Dim n
 If pagination = 0 Then
  If totalnumber Mod maxperpage = 0 Then
   n = totalnumber / maxperpage
  Else
   n = totalnumber / maxperpage + 1
  End If
  Response.Write "<table cellspacing=1 width='100%' border=0><form method=Post action=?><tr><td align=center> "
  'Response.Write "<font color='red'>" & strclassname & "</font> "
  If CurrentPage < 2 Then
   Response.Write "共有关键字 <font COLOR=#FF0000><strong>" & totalnumber & "</strong></font> 条&nbsp;首 页&nbsp;上一页&nbsp;"
  Else
   Response.Write "共有关键字 <font COLOR=#FF0000><strong>" & totalnumber & "</strong></font> 篇&nbsp;<a href=?page=1>首 页</a>&nbsp;"
   Response.Write "<a href=?page=" & CurrentPage - 1 & ">上一页</a>&nbsp;"
  End If
  If n - CurrentPage < 1 Then
   Response.Write "下一页&nbsp;尾 页"
  Else
   Response.Write "<a href=?page=" & (CurrentPage + 1) & ">下一页</a>"
   Response.Write "&nbsp;<a href=?page=" & n & ">尾 页</a>"
  End If
  Response.Write "&nbsp;页次:<strong><font color=red>" & CurrentPage & "</font>/" & n & "</strong>页 "
  Response.Write "&nbsp;转到:"
  If GotoPageType = 1 Then
   Response.Write "&nbsp;<select name='page' size='1' style=""font-size: 9pt"" onChange='javascript:submit()'>"
   For ii = 1 To n
    Response.Write "<option value='" & ii & "' "
    If CurrentPage = CInt(ii) Then
     Response.Write "selected "
    End If
    Response.Write ">第" & ii & "页</option>"
   Next
   Response.Write "</select> "
  Else
   Response.Write "<input name=page size=3> <input type=submit name=Submit value='GO'>"
  End If
  Response.Write "</td></tr></form></table>"
 Else
  n = CurrentPage
  If n < maxpagecount Then
   n = maxpagecount
  End If
  Response.Write "<table width=""100%"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""2"">"
  Response.Write " <tr><form method=""POST"" action='?'>"
  Response.Write " <td align=""center""><font color='red'>" & strclassname & "</font> 共有关键字 <font COLOR=#FF0000><strong>"
  Response.Write totalnumber
  Response.Write "</strong></font> 条 <a href=?page=1 title=返回第一页><font face=""Webdings"">97</font></a> "
  For ii = pagestart To pageend
   If ii = 0 Then ii = 1
   If ii = CurrentPage Then
    Response.Write "<font color='red'><strong>" & ii & "</strong></font> "
   Else
    Response.Write "<a href=?page=" & ii & " title=第" & ii & "页><strong>" & ii & " </strong></a>"
   End If
  Next
  Response.Write "<a href=?page="
  Response.Write maxpagecount
  Response.Write " title=尾页><font face=""Webdings"">8:</font></a> 页次:<strong><font color=red>"
  Response.Write CurrentPage
  Response.Write "</font>/"
  Response.Write maxpagecount
  Response.Write "</strong>页 转到:"
  If GotoPageType = 1 Then
   Response.Write "&nbsp;<select name='page' size='1' style=""font-size: 9pt"" onChange='javascript:submit()'>"
   For ii = 1 To n
    Response.Write "<option value='" & ii & "' "
    If CurrentPage = CInt(ii) Then
     Response.Write "selected "
    End If
    Response.Write ">第" & ii & "页</option>"
   Next
   Response.Write "</select> "
  Else
   Response.Write "<input name=page size=3> <input type=submit name=Submit value='GO'>"
  End If
  Response.Write " </td></form></tr></table>"
 End If
End Sub
%>  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值