请问各位高手,谁做过 ajax分页的程序,说一下思路!谢谢

5iasp
博客专家认证
2007-09-07 02:02:27
请问各位高手,谁做过 ajax分页的程序,说一下思路!谢谢
...全文
793 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
TaoTaoYou 2010-08-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiao_jun_0820 的回复:]
如果是这个东西的话,我没做过,不过感觉好像不会很难把?
我想到一个思路:
比如点击上一页这个链接时,就触发一个onclick事件,然后在这个事件里进行AJAX异步访问数据库中的记录.比如说用GET方法,然后在open()方法的时候,把(当前页的页号-1)传过去,然后查询出相应的结果,然后把结果的XML返回,再处理重新绑定应该就行了把?

好像思路挺简单,可能实现起来会烦一点.呵呵
[/Quote]
我正在写ajax分的教程.其实现思路与你不谋而合.三个小时以后我会在这里提供,请楼主期待:
http://www.web666.net/ajax
UPC_思念 2010-08-21
  • 打赏
  • 举报
回复
顶。。。。
amangoing 2008-12-25
  • 打赏
  • 举报
回复
kjfurjcudj 2007-09-12
  • 打赏
  • 举报
回复
开玩笑随便写写也超过 9句了 ~! 除非你把代码都写成一行~!!
bingdian_111 2007-09-12
  • 打赏
  • 举报
回复
ajax这个比较基础,但是一定要会!34524638,java交流群。
aspwar 2007-09-12
  • 打赏
  • 举报
回复
Ajax不适合做分页吧,对搜索引擎不友好
dexterfar 2007-09-11
  • 打赏
  • 举报
回复
我做过,而且只要9句代码就能实现,但是我不会给你说,因为你在另外一贴发病毒。
yilinhust 2007-09-10
  • 打赏
  • 举报
回复
先实现非AJAX模式下的分页,然后再移植过来不就得了
关键是你会不会AJAX


hediant 2007-09-10
  • 打赏
  • 举报
回复
不晓得你说的是什么分页
NewUser2008 2007-09-10
  • 打赏
  • 举报
回复
分页,页面要记录,当前页数,页面大小,在后台可使用、存储过程来分页(将逻辑交给数据库),将页面大小和当前页面数传给过程,
CREATE TABLE [TestTable] (
5 [ID] [int] IDENTITY (1, 1) NOT NULL ,
6 [FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
7 [LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
8 [Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
9 [Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL
10 ) ON [PRIMARY]
11 GO
12
13
14
15 插入数据:(2万条,用更多的数据测试会明显一些)
16 SET IDENTITY_INSERT TestTable ON
17
18 declare @i int
19 set @i=1
20 while @i<=20000
21 begin
22 insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, 'FirstName_XXX','LastName_XXX','Country_XXX','Note_XXX')
23 set @i=@i+1
24 end
25
26 SET IDENTITY_INSERT TestTable OFF
27
28
29
30 -------------------------------------
31
32 分页方案一:(利用Not In和SELECT TOP分页)
33 语句形式:
34 SELECT TOP 10 *
35 FROM TestTable
36 WHERE (ID NOT IN
37 (SELECT TOP 20 id
38 FROM TestTable
39 ORDER BY id))
40 ORDER BY ID
41
42
43 SELECT TOP 页大小 *
44 FROM TestTable
45 WHERE (ID NOT IN
46 (SELECT TOP 页大小*页数 id
47 FROM 表
48 ORDER BY id))
49 ORDER BY ID
50
51 -------------------------------------
52
53 分页方案二:(利用ID大于多少和SELECT TOP分页)
54 语句形式:
55 SELECT TOP 10 *
56 FROM TestTable
57 WHERE (ID >
58 (SELECT MAX(id)
59 FROM (SELECT TOP 20 id
60 FROM TestTable
61 ORDER BY id) AS T))
62 ORDER BY ID
63
64
65 SELECT TOP 页大小 *
66 FROM TestTable
67 WHERE (ID >
68 (SELECT MAX(id)
69 FROM (SELECT TOP 页大小*页数 id
70 FROM 表
71 ORDER BY id) AS T))
72 ORDER BY ID
73
74
75-------------------------------------
76
77 分页方案三:(利用SQL的游标存储过程分页)
78 create procedure XiaoZhengGe
79 @sqlstr nvarchar(4000), --查询字符串
80 @currentpage int, --第N页
81 @pagesize int --每页行数
82 as
83 set nocount on
84d eclare @P1 int, --P1是游标的id
85 @rowcount int
86 exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
87 select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
88 set @currentpage=(@currentpage-1)*@pagesize+1
89 exec sp_cursorfetch @P1,16,@currentpage,@pagesize
90 exec sp_cursorclose @P1
91 set nocount off
92
93 其它的方案:如果没有主键,可以用临时表,也可以用方案三做,但是效率会低。
94 建议优化的时候,加上主键和索引,查询效率会提高。
95
96 通过SQL 查询分析器,显示比较:我的结论是:
97 分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句
98 分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句
99 分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为通用
100
101 在实际情况中,要具体分析。
说明:使用select top 变量必需是字符型 然后用exec('select top '+变量+' from tableName ')

上面是将得到分页后的数据.
xuStanly 2007-09-08
  • 打赏
  • 举报
回复
每个人的做法可能都不一样。比如
http://www.speedsoftech.com/test/list4man.htm?class=mine
后台是通过存储过程分页,那么存储过程需要哪些参数,则通过AJAX向后台传什么参数。
取得的记录集直接输出成XML供前台调用。
xiao_jun_0820 2007-09-07
  • 打赏
  • 举报
回复
如果是这个东西的话,我没做过,不过感觉好像不会很难把?
我想到一个思路:
比如点击上一页这个链接时,就触发一个onclick事件,然后在这个事件里进行AJAX异步访问数据库中的记录.比如说用GET方法,然后在open()方法的时候,把(当前页的页号-1)传过去,然后查询出相应的结果,然后把结果的XML返回,再处理重新绑定应该就行了把?

好像思路挺简单,可能实现起来会烦一点.呵呵
xiao_jun_0820 2007-09-07
  • 打赏
  • 举报
回复
你所指的分页是不是就是什么上一页,下一页,......的东西啊?

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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