2010-02-26 97 views
0

我是新来的ajax和jQuery。我正在建立一个搜索页面,并且需要分页,因为它会有很多记录。我发现很多教程,我们可以做到这一点。但是我看到的所有内容都有页码。我的意思是如果我们有像9页,jquery Ajax分页Next/Prev - 动态数据

1 2 3 4 5 6 7 8 9 ...

我可能不需要这样的事情,但我需要一个像首页上一页下一页尾,如果碰巧我可以给他们一个字段输入页码(可选)。

我使用php mysql和limit来实现这一点。

非常感谢。

+0

您可以使用内联框架并简单地将搜索页面加载到该框架中。这更容易... – Warty 2010-02-26 20:50:37

回答

1

我会建议您发送您的sejach请求与ajax,并返回一个包含搜索命中和一些关于搜索的元数据(如total_hits列表,说明有多少可用的命中这个数字应该等于或大于hitlist的长度)。

GET /search?q=<query> 

{'hitlist': [...], 
'total_hits': 1234} 

命中列表的大小可能大约为3页,因为这可能是用户看到的最常见的命中。所以对于前三页你不需要访问服务器。这可以在浏览器上的jQuery中完成。欲了解更多的结果,你可以有你的服务器支持的可选参数,如:

GET /search?q=<query>&limit=20,40 

限制语法可能是相同的MySQL的,那么你可以问过去的10太(只记得采取适当的预防措施时,如果你使用SQL,将这些参数传递到你的数据库!)

因此,在浏览器上的分页看看你可以确定它应该看起来像total_hits值。如果有几个你不需要分页,并且如果有超多的话,你可以只用一个下一个按钮来解决。所有的结果都可以显示在一个,如果你想要任何奇特的分页效果,你可以看看http://sorgalla.com/projects/jcarousel/