學習目的:分頁技術,總結
今天最後一天我們學習一下ASP裡面稍微難一點地分頁技術,畢竟當我們有N筆記錄的時候我們不可能把所有記錄顯示在一個頁裡面吧。
<%
exec="select * from test"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
rs.PageSize=3
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then page=1
rs.AbsolutePage=page
%>
rs.pagesize設定一個頁裡面顯示的記錄數,pagecount是我們自己定義的一個變量,rs.pagecount是記錄的個數,page也是我們自己定義的一個變量,我們下一頁的連結可以設定為list. asp?page=<%=page+1%>,下一頁的連結可以設定為list.asp?page=<%=page-1%>,這樣當按下連結的時候呼叫頁面自己,page這個變量就+1或-1了,最後我們讓rs.absolutepage(目前頁面)為第page頁就可以了。
if request.QueryString("page")="" then page=1,這句話的作用就是我們打開list.asp的時候沒有跟隨page變量,自動設定為page=1,防止出錯,還有當我們if ....then...放在一行的時候end if可以省略。是不是分頁也不難?
下面說一種特殊情況:
if page=1 and not page=pagecount,這個時候沒有上一頁,但有下一頁
elseif page=pagecount and not page=1,這個時候沒有下一頁,但有上一頁
elseif page<1,這個時候沒有任何記錄
elseif page>pagecount then,這個時候沒有任何記錄
elseif page=1 and page=pagecount,這個時候沒有上一頁,沒有下一頁
else,這時候有上一頁,也有下一頁。
下面看一段顯示1到n頁,且每一個數字點擊以後就出現這個數在代表的頁面的程式碼,很常見哦。
<%for i=1 to pagecount%>
<a href="list.asp?page=<%=i%>"><%=i%></a><%next%>
for....next是迴圈從i=1開始,循環一次加1到pagecount為止。
最後我的實例裡麵包含了一個最簡單的ASP程序,但功能樣有,是ASP的精髓,每個ASP大型程式都包含了它。
add.htm增加記錄頁面
add.asp增加記錄操作
conn.asp資料庫鏈接
del.asp刪除記錄操作
modify.asp修改記錄頁面
modifysave.asp修改記錄操作
list.asp這個是這個程式的核心,透過這個頁面實現記錄的新增、修改、刪除。
test.mdb資料庫,裡面有aa,bb兩個欄位:aa數字型只能接受數字,bb是字元型。
好了,十天到今天就結束了,我想我這個教程是讓大家入門的,大家覺得寫的淺也不要責怪必盡不可能初學者和高手都照顧到吧,最後我想說一句,今天的實例是ASP的精華,大家一定要好好研究,通了這個程序,你會發現你已經會ASP了。謝謝大家的支持!