PHP/MySQL分页还是jQuery分页?

3

一个快速的问题。如果我在网站中使用分页,并且期望有很多结果,那么使用jQuery还是只是加载新页面的基本PHP/MySQL更好?

如果我使用jQuery,并且从数据库中获得了超过300个结果,它会在初始页面加载时全部加载吗?这可能需要很长时间才能加载完。或者,您可以使其仅加载前10个结果,当您转到第2页时,它将加载下一个10个结果吗?

想知道您是否对我的情况有任何建议,以及是否推荐我可以使用的好脚本。

谢谢!


为什么你想获取比潜在需要更多的数据? - zerkms
3个回答

9

我认为你应该从“基础”PHP / MySQL分页开始(每次用户更改页面都会加载新页面)。

一旦你能够使其工作,如果需要的话,可以在上面添加jQuery分页。所有jQuery分页会做的就是通过AJAX加载新的结果页面,而不是加载整个新页面。


1
建议在使用PHP/MySQL开发基础后,逐步添加jQuery。 - Jason McCreary

8
因此,关键在于如何通过JavaScript(jQuery)处理结果分页。如果您在页面上呈现所有300个结果,只是隐藏结果200-300(并通过JavaScript显示它们),那么您的页面仍然会非常缓慢地呈现,并且您将使用查询负担数据库,这可能通过限制(分页)进行优化。
另一方面,如果您异步查询更多结果,例如通过异步GET请求到通过JSON输出数据的Web服务,您就可以同时拥有响应速度快的页面和避免繁重无限制的查询。
使用PHP/MySQL和后续处理来处理这个问题也可以避免长时间的初始页面加载和繁重的查询。
因此,总之,我绝对会对结果进行分页。我还建议您执行以下操作:
1)首先使用纯PHP / MySQL设计架构。例如:
/results/?start=0&limit=20(显示第0-19个结果) /results/?start=20&limit=40(显示第20-40个结果)
2)然后,如果要提供一个响应灵敏度高的javascript机制来加载更多内容,请扩展您的页面,以便它可以使用格式参数输出JSON:
/results/?start=0&limit=20&format=JSON
因此,如果format = JSON而不是呈现HTML,则它将只输出JSON数据,进行分页。
3)然后连接javascript以使用JSON数据动态加载更多内容:
$.get('/results/?start=' + start + '&format=JSON', function(data) { 
    // Process and display data
});

希望您能理解!

0

你已经使用了ajax标签,这就是答案... 你应该使用PHP/MySQL + Ajax的组合来加速和使事情更顺畅。

这里有一个非常受欢迎的插件,实现客户端接口:JQGrid


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接