这是我的代码。但是我有一些关于加载时间超过1000行的问题。
如何更改代码以首先检查创建分页的查询结果的数量。那么,只得到分页页面的结果吗?
$query->join('f.document', 'dv');
答案 0 :(得分:2)
首先获得结果的总行数
SELECT COUNT(*)FROM table WHERE 1 = 1;
第二个是获取行结果但由ex限制的查询。 10,偏移量从零开始
SELECT * FROM table WHERE 1 = 1 LIMIT 10,0;
这意味着结果将从0开始,然后对于下一页,您应该为您的偏移量添加10
SELECT * FROM table WHERE 1 = 1 LIMIT 10,10;
所以它从10开始到20
答案 1 :(得分:0)
实际上是两个方面:客户端和服务器端。
客户端,使用angularjs,请评估使用angular ui pagination指令:
https://github.com/angular-ui/bootstrap/tree/master/src/pagination
这里有一个指向stackoverflow帖子的链接,其中有一个工作示例:
How to do paging in AngularJS?
关于服务器端,您可以提供一种使查询动态化的方法,只检索传递给它的范围内的结果。就这样:
'SELECT query_text FROM catalogsearch_query WHERE query_text LIKE "%' + n + '%" ORDER BY popularity DESC LIMIT %, %'
根据分页从客户端传递限制参数。 因此,在加载新页面之前,使用正确的LIMIT参数调用查询