用ASP實現分頁顯示的詳細講解

來源:互聯網
上載者:User
分頁|顯示

  一. 表 結 構 定 義:

  ---- 表 名:Product ---- 表 名:Product ---- 字 段 名: 產 品 編號:Product_Id ---- 產 品 名 稱:Product_Name

  二. 功 能 描 述:

  ---- 用 戶 輸 入 產 品 號, 不 必 輸 入全 名. 采 用 模 糊 查 詢 的 方 法. 找 到 滿 足 條 件 的 紀 錄. ---- 用 戶 輸 入 產 品 號, 不 必 輸 入全 名. 采 用 模 糊 查 詢 的 方 法. 找 到 滿 足 條 件 的 紀 錄.

  三. 程 序 腳 本

---- 整 個 程 序 有 三 個Asp 文 件( 省略Html 語 言 部 分)

---- 整 個 程 序 有 三 個Asp 文 件( 省略Html 語 言 部 分)

---- 1 用 戶 查 詢 資料 輸 入 表 單:Input.Asp

-----使用者輸入產品編號

 < Form Method="Post" Action="/Cgi/Prod.Asp" >

 < Input Type="Text" Name="Id" Size="20" >

< Input Type="Submit" Value="Submit" Name="B1" >

< /Form >

  2.分頁處理常式之一:Prod.Asp

  ----使用者提交表單Input.Asp後觸發

< %Cid=Trim(Request.Form("Id"))% >

 < %Set Rlt = Createobject("Adodb.Recordset")% > ******建立Recordset對象

 < %Sql="Select * From Product Where Product_Id Like ' "& Cid &"'+'%'" >

 < %Rlt.Open Sql,"Uid=Ncgi;Pwd=Sql;Dsn=Tcgi",1% > ******執行Sql語句

< % If Rlt.Pagecount< 1 Then % >

 < H2 >沒有紀錄< /H2 >

< A Href="Javascript:History.Back()" > 返回< /A >

< %Else% >

*****以下顯示查詢資訊:顯示樣式:

 *****共有XX頁XXX條紀錄 頁號:1 .2 .3. 4. 5......... 共有< %=Rlt.Pagecount% >頁

 < %=Rlt.Recordcount% >條紀錄

 頁號:< % For I=1 To Rlt.Pagecount% >

 < %cid=rlt("product_id") < AHref="Prodpage.Asp?Pcnt=< %=I% >&id=< %=cid% > >

< %=I% >.< /A >

  < %Next % >

  < /A >

  < Hr >

  < %Rlt.Pagesize=20% >

  ******以下顯示產品列表:顯示樣式: ******1.XXXX ******2.XXXX ****** ...........

  < %Rlt.Absolutepage=1% >

  < % For I=1 To Rlt.Pagesize% >

  < % If Rlt.Eof Then Exit For End If% >

  < Li >< %=I% >.

  < %=Trim(Rlt("Product_Name"))< /Li >

  < %Rlt.Movenext Next% >

  < %Rlt.Close% >

  3.分頁處理常式之二:Propage.Asp

  ----使用者選擇 (頁號:1 .2 .3. 4. 5.........)中某頁號後觸發

  < %Cid=Trim(Request.querystring("Id"))% >

  < %Rlt.Absolutepage=Request.Querystring("Pcnt")% > ******以上部分與Prod.Asp相同 *****

  < % For I=1 To Rlt.Pagesize% >

  < % If Rlt.Eof Then Exit For End If% >

   < Li >< %=I% >. < %=Trim(Rlt("Product_Name"))< /Li >

  < %Rlt.Movenext Next% >

  < %Rlt.Close% >

  四。 補 充 說 明:

  ---- 你 可 以 讓 用 戶 設 置 每 頁 的長 度。 方 法 是 用Session 對 象 維 護 用 戶 信 息 接 受 用 戶 設 置信 息: ---- 你 可 以 讓 用 戶 設 置 每 頁 的長 度。 方 法 是 用Session 對 象 維 護 用 戶 信 息 接 受 用 戶 設 置信 息:

 < %session("size")=request.form("size")% >

  把Prod.asp中 < %Rlt.Pagesize=20% >一句用下列語句代替 < %if session("size")="" then rlt.pagesize=20 else rlt.pagesize=session("size") end if% >

  疑難解析

  1.分頁功能的關鍵: Pagesize Absolutepage屬性的應用 Pagesize: 每頁紀錄大小 Absolutepage:游標定位到那一頁.比如說有20條紀錄,分成兩頁,每頁十條 Absolutepage=1則從第一條紀錄開始。 Absolutepage=2則從第十一條紀錄開始。

  2.< %Rlt.Open Sql,"Uid=Ncgi;Pwd=Sql;Dsn=Tcgi",1% > Dsn:系統資料來源名,Uid:使用者名稱,Pwd:使用者密碼,1:游標類型 你必須在控制台-- > 32位Odbc中建立系統資料來源,記住是系統資料來源而不是使用者資料來源游標類型:0,是預設值,但如果你想實現分頁功能游標類型必須設為1 不然 Recordcount Pagesize Pagecount屬性都不能用.

  3.request.form("id")和request.querystring("id") 的名字是id request.querystring("id")指從URL中接受資料



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.