学習目的:ページング技術、概要
今日の最終日は、ASP の少し難しいページング技術を学びます。結局のところ、N 個のレコードがある場合、すべてのレコードを 1 ページに表示することはできません。
<%
exec="テストから * を選択"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
rs.PageSize=3
ページカウント=rs.ページカウント
page=int(request.QueryString ("ページ"))
ページ<=0 の場合、ページ=1
request.QueryString("page")="" の場合、page=1
rs.AbsolutePage=ページ
%>
rs.pagesize はページに表示されるレコード数を設定します。Pagecount は独自に定義した変数です。次のページへのリンクも設定できます。 list.asp?page=<%=page+1%> の場合、次のページへのリンクを list.asp?page=<%=page-1%> に設定できるため、リンクがクリックされると、そのページが表示されます。ページ変数自体は Just +1 または -1 と呼ばれます。最後に、rs.absolutepage (現在のページ) をページ ページにします。
if request.QueryString("page")="" then page=1 の場合、この文の目的は、list.asp を開いたときに page 変数に従いません。これを防ぐために、自動的に page=1 に設定されます。エラーと when we if ....then...end if は 1 行に配置する場合は省略できます。ページネーションって難しくないですか?
特殊なケースを次に示します。
page=1 で、page=pagecount ではない場合、現時点では前のページはありませんが、次のページは存在します。
elseif page=pagecount で、page=1 ではない場合、現時点では次のページはありませんが、前のページは存在します。
elseif page<1、現時点ではレコードがありません
elseif page>pagecount の場合、現時点ではレコードはありません
elseif page=1 および page=pagecount、この時点では前のページも次のページもありません。
それ以外の場合、この時点では前のページと次のページが存在します。
ページ 1 から n を表示するコードを見てみましょう。各番号をクリックすると、その番号で表されるページが表示されます。これは非常に一般的です。
<%for i=1 から pagecount%>
<a href="list.asp?page=<%=i%>"><%=i%></a><%next%>
for....next は i=1 から始まるループで、pagecount まで 1 ずつ増加します。
最後に、私の例には最も単純な ASP プログラムが含まれていますが、これはすべての大きな ASP プログラムに含まれるすべての機能を備えています。
add.htm はレコードページを追加します
add.asp はレコード操作を追加します
conn.asp データベース リンク
del.asp レコード削除操作
modify.asp レコード ページを変更する
modifysave.asp レコード操作の変更
list.asp はこのプログラムの中核であり、このページを通じてレコードを追加、変更、削除できます。
test.mdb データベースには、aa と bb の 2 つのフィールドが含まれています。aa は数字のみを受け入れることができる数値型で、bb は文字型です。
さて、今日で 10 日間が終わりました。このチュートリアルは誰でも始めることができるものだと思います。初心者と上級者の両方に配慮できるように最善を尽くします。今日は何か言いたいことがあります。この例は ASP の本質です。このプログラムに合格すると、すでに ASP について理解していることがわかります。応援してくださった皆様、ありがとうございました!