一. 表 结 构 定 义:
—- 表 名: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% >
——————- 北极星书库||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="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中接受数据