·您的位置: 首页 » 资源教程 » 编程开发 » ASP » 用ASP实现分页显示的详细讲解

用ASP实现分页显示的详细讲解

类别: ASP教程  评论数:0 总得分:0
一. 表 结 构 定 义:

  ---- 表 名: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中接受数据
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1