我是ajax和jquery的新手。我正在构建一个搜索页面,需要进行分页,因为它会有很多记录。我找到了许多教程,我们可以做到这一点。但是我看到的所有内容都有页码。我的意思是,如果我们有9页,
1 2 3 4 5 6 7 8 9 ...
我可能不需要这样的东西,但我需要像下一个最后一个prev,如果偶然我可以给他们一个字段来输入页码(可选)。
我正在使用php mysql和limit来实现这一点。
非常感谢。
答案 0 :(得分:1)
我建议您使用ajax发送serach请求,并返回一个JSON对象,其中包含搜索匹配列表以及有关搜索的一些元数据(例如 total_hits ,其中包含有多少匹配在服务器上可用。此数字应等于或大于 hitlist 的长度。
GET /search?q=<query>
{'hitlist': [...],
'total_hits': 1234}
命中列表的大小可能是~3页,因为这可能是用户将看到的最常见的命中。因此,对于前三个页面,您无需访问服务器。这可以在浏览器上的jQuery中完成。要获得更多结果,您可以让服务器支持可选参数,例如:
GET /search?q=<query>&limit=20,40
limit 语法可能与MySQL相同,那么你也可以要求最后的10个(只要记住在将这些参数传递到数据库时采取适当的预防措施,如果你使用SQL!)
因此,对于浏览器上的分页外观,您可以从 total_hits 值确定它的外观。如果很少有你不需要分页,如果有很多,你可以只用一个下一个按钮。所有结果都可以在a中显示,如果你想要任何花哨的分页效果,你可以看看http://sorgalla.com/projects/jcarousel/。