当前位置:编程学习 > asp >>

ASP实现分页显示

答案:

---- 本 人 曾 用Idc/Htx 开 发 过Web 应用 程 序,Idc/Htx 功 能 有 限, 其中 最 大 的 缺 点 是 对 满 足 条 件 的 纪 录 只 能 一 次 性 显 示出 来., 假 设 有 一 万 条 纪 录, 像Idc/Htx 那 样 一 次 全 部 显 示 出 来。 简 直 是 不 可忍 受 的。Asp 功 能 强 大, 对 此 问 题 应 付 自如。

一. 表 结 构 定 义:

---- 表 名:Product

---- 字 段 名: 产 品 编 号:Product_Id

---- 产 品 名 称:Product_Name

二. 功 能 描 述:

---- 用 户 输 入 产 品 号, 不 必 输 入 全 名. 采 用 模 糊 查 询 的 方 法. 找到 满 足 条 件 的 纪 录.

三. 程 序 脚 本

---- 整 个 程 序 有 三 个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=>

    返回< /A >

< %Else% >

-------------------
  北极星书库||http://www.ebook007.com

*****以下显示查询信息:显示样式:

*****共有XX页XXX条纪录 页号:1 .2 .3. 4. 5.........

共有< %=Rlt.Pagecount% >页

< %=Rlt.Recordcount% >条纪录

页号:< % For I=1 To Rlt.Pagecount% >

       < %cid=rlt("product_id")

   < AHref=>

    < %=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("size")=request.form("size")% >

把Prod.asp中 < %Rlt.Pagesize=20% >一句用下列语句代替

 < %if session("size")="" then

            rlt.pagesize=20

           else

         rlt.pagesize=session("size")

 end if% >


 

上一个:尽可能的使用本地(局部)变量
下一个:使用"option explicit"

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,