今天心情有點激動,想把"關于用dw asp實現分頁技術的參考"分享給用dw asp做網頁的朋友們.去掉只有"第一頁,前一頁,下一頁,最后一頁"的小痛苦
此效果最后的顯示是:第n頁[共*頁] <<1 2 3 4 5 6 7 8 9 10 >>。
用dw asp做網頁時,在綁定記錄集后,代碼頁里馬上出現以下代碼:
<%
dim recordset1
dim recordset1_numrows
set recordset1 = server.createobject("adodb.recordset")
recordset1.activeconnection = mm_數據庫名_string
recordset1.source = "select * from 表名"
recordset1.cursortype = 0
recordset1.cursorlocation = 2
recordset1.locktype = 1
recordset1.open()
recordset1_numrows = 0
%>
<%
dim i
dim rpp
dim pageno
i=1
rpp=50
pageno=cint(request("pageno"))
’上面即是新插入的,
dim recordset1
dim recordset1_numrows
set recordset1 = server.createobject("adodb.recordset")
recordset1.activeconnection = mm_數據庫名_string
recordset1.source = "select * from 數據庫名"
recordset1.cursortype = 1 ’將上面代碼的0改為1.
recordset1.cursorlocation = 2
recordset1.locktype = 1
recordset1.open()
recordset1_numrows = 0 ’再在此行的下一行開始加入如下代碼:
recordset1.pagesize=rpp
if pageno<=0 then pageno=1
if pageno>recordset1.pagecount then pageno=recordset1.pagecount
recordset1.absolutepage=pageno
sub showpageinfo(tpagecount,cpageno)
response.write "第"&cpageno&"頁[共"&tpagecount&"頁]"
end sub
sub showpagenavi(tpagecount,cpageno)
if cpageno<1 then cpageno=1
if tpagecount<1 then tpagecount=1
if cpageno>tpagecount then cpageno=tpagecount
dim navilength
navilength=10 ’navilength:顯示的數字鏈接個數
dim i,startpage,endpage
startpage=(cpageno/navilength)*navilength 1
if (cpageno mod navilength)=0 then startpage=startpage-navilength
endpage=startpage navilength-1
if endpage>tpagecount then endpage=tpagecount
if startpage>1 then
response.write "<a class=""pagenavi"" href=""?pageno=" & (cpageno-navilength) & """><<</a> "
else
response.write "<font color=""#cccccc""><<</font> "
end if
for i=startpage to endpage
if i=cpageno then
response.write "<b>"&i&"</b>"
else
response.write "<a class=""pagenavi"" href=""?pageno=" & i & """>" & i & "</a>"
end if
if i<>tpagecount then response.write " "
next
if endpage<tpagecount then
response.write " <a class=""pagenavi"" href=""?pageno=" & (cpageno navilength) & """>>></a>"
else
response.write " <font color=""#cccccc"">>></font> "
end if
end sub
%>
上面代碼中:rpp:指定每頁顯示的記錄條數。即每頁顯示幾條數據。
navilength:顯示的數字鏈接個數,即10就為1 2 3 ...10的連接個數。 |||
若要顯示所有連接的頁(個)數,你可以設置為:navilength=tpagecount。
這時代碼已經差不多了,但還要在顯示的地方(如表格)中加點代碼才行吧,(要不然怎么顯示,呵~~~)如我們插入一個2行3列的表格。
1.將光標移在第一行第一列中,切換到代碼中加入:<%=(pageno-1)*rpp i%>
這個代碼是顯示序號用的。
2.右邊2個單元格(當然你自己可以根據需要分更多的列)就是為你要顯示的記錄了。請分別從綁定的記錄集中選中你要顯示的字段拖放在相應的單元格中,(也可以選中后再點右下角的“插入”按鈕)。這里我們就先拖2個進來如“編號”和“公司名稱”。分別到1行第2個單元格和1行第3個單元格中。
3.這個是個要害的,請將光標移到第一行任意單元格中,再來點選窗口底下的<tr>,這時你看看代碼,<tr>....</tr>就被選中了。這時請在<tr>....</tr>的前面插入如下代碼:
<%
if recordset1.eof or recordset1.bof then
else
for i=1 to rpp
%>再在<tr>....</tr>之后插入如下代碼:
<%
recordset1.movenext
if recordset1.eof or recordset1.bof then exit for
next
end if
%>
<% showpageinfo recordset1.pagecount,pageno %>
的代碼。右邊的2個單元格將其合并,在代碼中插入:<% showpagenavi recordset1.pagecount,pageno %>
的代碼。
5.大功告成!這時感快預覽一下吧。。。。
表格的全部代碼如下:
<table width="710" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#333333">
<%
if recordset1.eof or recordset1.bof then
else
for i=1 to rpp
%>
<tr bgcolor="#ffffff">
<td width="30" align="center"><%=(pageno-1)*rpp i%></td>
<td><%=(recordset1.fields.item("編號").value)%></td>
<td><%=(recordset1.fields.item("公司名稱").value)%></td>
</tr>
<%
recordset1.movenext
if recordset1.eof or recordset1.bof then exit for
next
end if
%>
<tr bgcolor="#ffffff">
<td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr bgcolor="#006699" class="w12">
<td width="121" align="center"><% showpageinfo recordset1.pagecount,pageno %>
</td>
<td width="573" align="center">
<% showpagenavi recordset1.pagecount,pageno %>
</td>
</tr>
</table></td>
</tr>
</table>
<%
dim i
dim rpp’rpp:指定每頁顯示的記錄條數,
dim pageno
i=1
rpp=50
pageno=cint(request("pageno"))
dim recordset1
dim recordset1_numrows
set recordset1 = server.createobject("adodb.recordset")
recordset1.activeconnection = mm_數據庫名_string |||
recordset1.source = "select * from 表名 order by 編號 asc"
recordset1.cursortype = 1
recordset1.cursorlocation = 2
recordset1.locktype = 1
recordset1.open()
recordset1_numrows = 0
recordset1.pagesize=rpp
if pageno<=0 then pageno=1
if pageno>recordset1.pagecount then pageno=recordset1.pagecount
recordset1.absolutepage=pageno
sub showpageinfo(tpagecount,cpageno)
response.write "第"&cpageno&"頁[共"&tpagecount&"頁]"
end sub
sub showpagenavi(tpagecount,cpageno)
if cpageno<1 then cpageno=1
if tpagecount<1 then tpagecount=1
if cpageno>tpagecount then cpageno=tpagecount
dim navilength
navilength=20 ’navilength:顯示的數字鏈接個數
dim i,startpage,endpage
startpage=(cpageno/navilength)*navilength 1
if (cpageno mod navilength)=0 then startpage=startpage-navilength
endpage=startpage navilength-1
if endpage>tpagecount then endpage=tpagecount
if startpage>1 then
response.write "<a class=""pagenavi"" href=""?pageno=" & (cpageno-navilength) & """><<</a> "
else
response.write "<font color=""#cccccc""><<</font> "
end if
for i=startpage to endpage
if i=cpageno then
response.write "<b>"&i&"</b>"
else
response.write "<a class=""pagenavi"" href=""?pageno=" & i & """>" & i & "</a>"
end if
if i<>tpagecount then response.write " "
next
if endpage<tpagecount then
response.write " <a class=""pagenavi"" href=""?pageno=" & (cpageno navilength) & """>>></a>"
else
response.write " <font color=""#cccccc"">>></font> "
end if
end sub
%>
新聞熱點
疑難解答