關(guān)于ASP分頁(yè)的問題,對(duì)于初學(xué)者是一個(gè)比較重要的問題,也是各個(gè)網(wǎng)站運(yùn)用最為廣泛的技術(shù),下面我就把我總結(jié)的一點(diǎn)小經(jīng)驗(yàn)介紹給大家(寫的不好,請(qǐng)大家指點(diǎn)) 1.原理:ASP分頁(yè)其實(shí)是將數(shù)據(jù)庫(kù)中的記錄分割成若干段“分屏顯示” ,為什么叫“分屏顯示”顯示,因?yàn)槠鋵?shí)顯示的原始頁(yè)面只有1頁(yè),通過控制數(shù)據(jù)庫(kù)顯示,來刷新頁(yè)面的顯示內(nèi)容(可能一些朋友會(huì)誤會(huì)為動(dòng)態(tài)產(chǎn)生若干頁(yè)面來顯示,呵呵,我剛剛學(xué)的時(shí)候也是這樣以為的) 2.用到的幾個(gè)函數(shù) rs.pagesize--->定義一頁(yè)顯示記錄的條數(shù) rs.recordcount--->統(tǒng)計(jì)記錄總數(shù) rs.pagecount---->統(tǒng)計(jì)總頁(yè)數(shù) 這幾個(gè)函數(shù)相信大家都很快就明白意識(shí)了,不過還有一個(gè)函數(shù)它的用法可能理解起來難一點(diǎn) rs.absolutepage--->將數(shù)據(jù)庫(kù)指針移動(dòng)到當(dāng)前頁(yè)要顯示的數(shù)據(jù)記錄的第一條記錄,比如有20條記錄的一個(gè)數(shù)據(jù)庫(kù),我們分為10條記錄顯示一頁(yè),當(dāng)你的頁(yè)面為2時(shí),通過使用rs.absolutepage將指針移動(dòng)到第11條記錄處,依次類推.... 3.大家明白原理后我們開始來看一段分頁(yè)的程序,其中的一些文件我就不一一詳細(xì)講解了,不明白的朋友可以先看
http://www.2yup.com/asp/forum/branch.asp?pid=55084&pn=5 -------------------------------------------------- <!--#include file=conn1.asp--> <% dim m,n set rs=server.CreateObject("adodb.recordset") sqlstr="select * from message order by time desc" rs.open sqlstr,conn,3,3 rs.pagesize=10 '定義一頁(yè)顯示的記錄數(shù)目 tatalrecord=rs.recordcount '獲取記錄總數(shù)目 tatalpages=rs.pagecount '獲取分頁(yè)的數(shù)目 rs.movefirst ---------------------------- nowpage=request("page") '用request獲取當(dāng)前頁(yè)數(shù),注意page是自己定義的變量并非函數(shù) -------------------------- if nowpage&"x"="x" then '處理頁(yè)碼為空時(shí)的情況 nowpage=1 else nowpage=cint(nowpage) '將頁(yè)碼轉(zhuǎn)換成數(shù)字型 end if -------------------------------- rs.absolutepage=nowpage '將指針移動(dòng)到當(dāng)前顯示頁(yè)的第一條記錄 ------------------------------- %> --------------------------------------------- <% n=1 while not rs.eof and n<=rs.pagesize response.Write(rs("user") & "<br>") response.Write(rs("tt") & "<br>") n=n+1 rs.movenext '顯示頁(yè)面的數(shù)據(jù) wend %> ------------------------------------------- 共:<%=tatalpages%>頁(yè) 當(dāng)前為:<%=nowpage%>頁(yè) <%if nowpage>1 then%> <a href="fy.asp?page=<%=nowpage-1%>">上一頁(yè)</a> <%else%> 上一頁(yè) <%end if%> <%for k=1 to tatalpages%> <%if k<>nowpage then %> <a href="fy.asp?page=<%=k%>"><%=k%></a> <%else%> <%=k%> <%end if%> <%next%> <%if nowpage < tatalpages then%> <a href="fy.asp?page=<%=nowpage+1%>">下一頁(yè)</a> <%else%> 下一頁(yè) <%end if%> '加上頁(yè)碼連接 <%if nowpage<>1 then%> <a href="fy.asp?page=<%=1%>"> 首頁(yè)</a> <%else%> 首頁(yè) <%end if%> <%if nowpage<>tatalpages then %> <a href="fy.asp?page=<%=tatalpages%>">末頁(yè)</a> <%else%> 末頁(yè) <%end if%> ------------------------------------------------ 這樣一個(gè)分頁(yè)的就OK了,呵呵,寫的不好的地方請(qǐng)大家指點(diǎn):)
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!