何处有带分页功能的searching engine的原代码download?

triplet 2000-04-02 12:29:00
rt
...全文
197 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
triplet 2000-04-27
  • 打赏
  • 举报
回复
一人25分.
sorry,i couldn't visit this web site for some days, some i could grant scores to you.
王释之 2000-04-13
  • 打赏
  • 举报
回复

---- 整 个 程 序 有 三 个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("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")

request.form("id")指从表单接收数据,注意表单input.asp中输入框
的名字是id
request.querystring("id")指从URL中接受数据

一定要给分啊!
basilisk 2000-04-12
  • 打赏
  • 举报
回复
代码很简单,应该可以看懂

rs.PageSize = 20 '定义显示的行数
Page = CLng(Request("Page"))
If Page < 1 Then Page = 1
If Page > rs.PageCount Then Page = rs.PageCount
'ShowOnePage rs, Page
rs.AbsolutePage = Page
For iPage = 1 To rs.PageSize
......
If Page <> 1 Then
Response.Write "<A HREF=aaaaa.asp?Page=1&">第一页 </A> "
Response.Write "<A HREF=aaaaa.asp?Page=" & (Page-1) & ">上一页</A> "
end if
下一页参数是page+1
最后一页参数是rs.pagesize
dengdun 2000-04-07
  • 打赏
  • 举报
回复
用adodb.Recordset对象的PageSize,PageCount和AbsolutePage这几个属性就可以实现分页显示的功能,PageSize用来指定每页显示的记录条数,一旦指定了PageSize,就可以获得PageCount,即总页面数,然后再用AbsolutePage来指定当前页面为第几页,最后就可以像操作一般的Recordese一样来显示各条记录.
basilisk 2000-04-07
  • 打赏
  • 举报
回复
我有源代码,那个想要,我可以贴出来不过要给分噢!哈哈哈哈!!!!
triplet 2000-04-07
  • 打赏
  • 举报
回复
贴出当然可得分!快贴吧。
small_wolf 2000-04-06
  • 打赏
  • 举报
回复
用asp怎么实现分页功能,例如本站的各个论坛的分页功能?
subzero 2000-04-06
  • 打赏
  • 举报
回复
是呀
是简单
但要做大的话就。。。
King 2000-04-05
  • 打赏
  • 举报
回复
ASP实现这个功能就简单,其他什么的就比较烦了。
subzero 2000-04-05
  • 打赏
  • 举报
回复
这个那有呀
自己写吧

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧