| 導購 | 订阅 | 在线投稿
分享
 
 
 

透徹掌握ASP分頁技術

2008-09-18 07:06:50  編輯來源:互聯網  简体版  手機版  移動版  評論  字體: ||
 

看看功能:分頁程序首先讀取每頁預置的記錄條數,在此是5條,其它將在下頁中顯示,同時提示當前頁數、總頁數、總記錄數,當顯示的頁數爲第一頁時,「首頁」、「上一頁」鏈接失效,當顯示的頁數爲最後頁時,「下一頁」、「尾頁」鏈接失效。

接下來,以實例的方式告訴大家怎麽一步步的做出這種分頁效果。

首先,數據庫中字段record_info存在于info表中(實例下載中有數據庫),先鏈接數據庫並將一個記錄集打開,以下代碼:

<%

Set conn=Server.CreateObject("Adodb.Connection")

connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")

conn.open connstr

Set rs=Server.CreateObject("Adodb.Recordset")

sql="Select * from info"

rs.open sql,conn,1,1

%>

這段代碼不詳解,相信初入門的都會,具體的解釋可以看看《手把手教你用ASP做留言本》教程,

接下來這是分頁中比較重要的部分,了了三行而已:

<%

rs.pagesize=5

curpage=Request.QueryString("curpage")

if curpage="" then curpage=1

rs.absolutepage=curpage

%>

第二句:rs.pagesize=5,這個什麽意思呢?它就是在Recordset對象中的一個內置屬性,它的作用是指定每頁的記錄條數,設置爲5時,每5條記錄放在一起成一頁,比如實例中共有21條記錄,那麽,使用rs.pagesize分頁後,這21條記錄將分成5頁進行顯示。

第三、四句:這裏主要是用于翻頁的功能,將URL的post參數curpage傳遞給curpage變量,這個curpage將得到浏覽者想要到達的頁數,同時用if語句將沒有傳遞到curpage參數的頁直接賦于第一頁的值。(運行一下實例就會明白)

第五句:rs.absolutepage,這個也是個內置的屬性,,它代表的意思就是將curpage變量的數值指定爲當前頁。

現在開始可以讓記錄循環顯示了:

<%

for i= 1 to rs.pagesize

if rs.eof then

exit for

end if

%>

<%=rs("record_info")%><br>

<%

rs.movenext

next

%>

第二句:

利用for循環在每頁顯示rs.pagesize屬性中指定的記錄數。

第三、四、五句:

這句意思是當最後一頁達不到指定記錄時就退出循環,以免出錯。

第七句:

綁定從數據庫取出的record_info字段,就是叫這字段內的記錄循環顯示的。

第九句:

用rs.movenext方法將rs記錄集往下移一條記錄。

第十句:

for循環語句。

另外可以用<%=curpage%>讀出當前頁次,用<%=rs.pagecount%>讀出總頁數,用<%=rs.recordcount%>讀出總記錄數。例如:「當前第<%=curpage%>頁,共有<%=rs.pagecount%>頁,共有:<%=rs.recordcount%>條記錄」。

在顯示首頁、上頁、下頁、尾頁功能上,采用了if...else...語句,比較好懂。

<%if curpage=1 then%>

首頁

<%else%>

<a href="?curpage=1">首頁</a>

<%end if%>

<%if curpage=1 then%>

上一頁

<%else%>

<a href="?curpage=<%=curpage-1%>">上一頁</a>

<%end if%>

<%if rs.pagecount<curpage+1 then%>

下一頁

<%else%>

<a href="?curpage=<%=curpage+1%>">下一頁</a>

<%end if%>

<%if rs.pagecount<curpage+1 then%>

尾頁

<%else%>

<a href="?curpage=<%=rs.pagecount%>">尾頁</a>

<%end if%>

理解一下:

首頁:

這個使用當前頁是否爲第一頁時判別,如果當前爲第一頁(也就是首頁),那麽顯示首頁兩字,沒有鏈接,否則提供直接跳轉到首頁的鏈接。

上一頁:

當前爲第一頁時,鏈接失效,反過來,鏈接到當前面的上一頁,這裏使用:<%=curpage-1%>,就是用當前的頁數減去1,得到上一頁。

下一頁:

這裏需要使用rs.pagecount這個屬性來比較,假如總頁數小于當前頁數加1的值,那表明這就是第後一頁,鏈接將失效,否則鏈接到下一頁。

尾頁:

和下一頁的功能一樣判定出是最後頁時鏈接失效,否則將當前頁指定爲rs.pagecount(總頁數)。

這個教程到此結束,經過講解,大家應該對ASP的分頁技術有較深的理解了吧?有問題可以通過在blog留言的方式和我聯系。

 
看看功能:分頁程序首先讀取每頁預置的記錄條數,在此是5條,其它將在下頁中顯示,同時提示當前頁數、總頁數、總記錄數,當顯示的頁數爲第一頁時,「首頁」、「上一頁」鏈接失效,當顯示的頁數爲最後頁時,「下一頁」、「尾頁」鏈接失效。 接下來,以實例的方式告訴大家怎麽一步步的做出這種分頁效果。 首先,數據庫中字段record_info存在于info表中(實例下載中有數據庫),先鏈接數據庫並將一個記錄集打開,以下代碼: <% Set conn=Server.CreateObject("Adodb.Connection") connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb") conn.open connstr Set rs=Server.CreateObject("Adodb.Recordset") sql="Select * from info" rs.open sql,conn,1,1 %> 這段代碼不詳解,相信初入門的都會,具體的解釋可以看看《手把手教你用ASP做留言本》教程, 接下來這是分頁中比較重要的部分,了了三行而已: <% rs.pagesize=5 curpage=Request.QueryString("curpage") if curpage="" then curpage=1 rs.absolutepage=curpage %> 第二句:rs.pagesize=5,這個什麽意思呢?它就是在Recordset對象中的一個內置屬性,它的作用是指定每頁的記錄條數,設置爲5時,每5條記錄放在一起成一頁,比如實例中共有21條記錄,那麽,使用rs.pagesize分頁後,這21條記錄將分成5頁進行顯示。 第三、四句:這裏主要是用于翻頁的功能,將URL的post參數curpage傳遞給curpage變量,這個curpage將得到浏覽者想要到達的頁數,同時用if語句將沒有傳遞到curpage參數的頁直接賦于第一頁的值。(運行一下實例就會明白) 第五句:rs.absolutepage,這個也是個內置的屬性,,它代表的意思就是將curpage變量的數值指定爲當前頁。 現在開始可以讓記錄循環顯示了: <% for i= 1 to rs.pagesize if rs.eof then exit for end if %> <%=rs("record_info")%><br> <% rs.movenext next %> 第二句: 利用for循環在每頁顯示rs.pagesize屬性中指定的記錄數。 第三、四、五句: 這句意思是當最後一頁達不到指定記錄時就退出循環,以免出錯。 第七句: 綁定從數據庫取出的record_info字段,就是叫這字段內的記錄循環顯示的。 第九句: 用rs.movenext方法將rs記錄集往下移一條記錄。 第十句: for循環語句。 另外可以用<%=curpage%>讀出當前頁次,用<%=rs.pagecount%>讀出總頁數,用<%=rs.recordcount%>讀出總記錄數。例如:「當前第<%=curpage%>頁,共有<%=rs.pagecount%>頁,共有:<%=rs.recordcount%>條記錄」。 在顯示首頁、上頁、下頁、尾頁功能上,采用了if...else...語句,比較好懂。 <%if curpage=1 then%> 首頁 <%else%> <a href="?curpage=1">首頁</a> <%end if%> <%if curpage=1 then%> 上一頁 <%else%> <a href="?curpage=<%=curpage-1%>">上一頁</a> <%end if%> <%if rs.pagecount<curpage+1 then%> 下一頁 <%else%> <a href="?curpage=<%=curpage+1%>">下一頁</a> <%end if%> <%if rs.pagecount<curpage+1 then%> 尾頁 <%else%> <a href="?curpage=<%=rs.pagecount%>">尾頁</a> <%end if%> 理解一下: 首頁: 這個使用當前頁是否爲第一頁時判別,如果當前爲第一頁(也就是首頁),那麽顯示首頁兩字,沒有鏈接,否則提供直接跳轉到首頁的鏈接。 上一頁: 當前爲第一頁時,鏈接失效,反過來,鏈接到當前面的上一頁,這裏使用:<%=curpage-1%>,就是用當前的頁數減去1,得到上一頁。 下一頁: 這裏需要使用rs.pagecount這個屬性來比較,假如總頁數小于當前頁數加1的值,那表明這就是第後一頁,鏈接將失效,否則鏈接到下一頁。 尾頁: 和下一頁的功能一樣判定出是最後頁時鏈接失效,否則將當前頁指定爲rs.pagecount(總頁數)。 這個教程到此結束,經過講解,大家應該對ASP的分頁技術有較深的理解了吧?有問題可以通過在blog留言的方式和我聯系。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有