这个程序将显示翻页连接功能单独抽出,而不涉及其它操作,可内置翻页效果,方便灵活。
pagehanshu.asp <% '设置页码及URL 'value1 翻页地址 'value2 page的值 'value3 地址标签 eg:第一页、下一页 'value4 根据vaule1而定 '如果 value1 = "page.asp" 时,value4 = 1; value1 = "page.asp?id=1" 时,value4 = 0;
function page_url(value1,value2,value3,value4) dim result dim val if value4 = 1 then val = "?" else val = "&" end if result = "<a href=" & value1 & val & "page=" & value2 & ">" & value3 & "</a>" page_url = result end function
'取得翻页的page参数 即为当前页 function page_request() dim page page = request("page") if ( page <> "" and IsNumeric(page) = false ) or page = "" then page = 1 end if page_request = page end function
'设置最常用的翻页模式,任意添加和修改 '第一种效果 写的有点繁琐 'n为总页数 function pagemode1(value1,value2) dim out val1 = value1 val4 = value2 page = page_request() page = CInt(page) val2_1 = 1 val2_2 = page - 1 val2_3 = page + 1 val2_4 = n val3_1 = "第一页" val3_2 = "上一页" val3_3 = "下一页" val3_4 = "最后页" if page = 1 then out1 = val3_1 out2 = val3_2 else out1 = page_url(val1,val2_1,val3_1,val4) out2 = page_url(val1,val2_2,val3_2,val4) end if if page = n then out3 = val3_3 out4 = val3_4 else out3 = page_url(val1,val2_3,val3_3,val4) out4 = page_url(val1,val2_4,val3_4,val4) end if out = out1 & " " & out2 & " " & out3 & " " & out4 pagemode1 = out end function '第二种效果 'n 为总页数 function pagemode2(value1,value2) dim out val1 = value1 val4 = value2 for i = 1 to n val2 = i val3 = "第" & i & "页" out = out & page_url(val1,val2,val3,val4) & " " next pagemode2 = out end function %>
使用举例(借用一下SunLine朋友的程序)
<% sql="……………………" rs.open sql,conn,1,1 '连接表 rs.pagesize=10 '这是每页显示几条记录10代表是10条 n = rs.pagecount '取得总页数 page=page_request() '取得页码值 rs.AbsolutePage=page %>
接下来将下面的代码放到需要的位置,用于显示翻页链接: <% out = pagemode1("page.asp",1) 'or out = pagemode1("page.asp?id=1",0) 'or out = pagemode2("page.asp",1)
response.write out %>
呵呵,这个程序没有什么新东西,也没经过任何运算速度测试和性能优化,纯粹是为了用起来方便,请大家多提意见,让我改进。
|