使用LIMIT 0,20进行无限滚动 - 如何限制总结果数?

时间:2015-07-08 11:11:04

标签: php mysql pagination

我有一个问题:

 select * from table where id is not null order by desc LIMIT :start, :limit

ajax无限滚动/分页工作的开始和限制

如果我已经为分页使用限制,我如何限制总结果?

我需要一个类似于下面的查询:

select * from table where id is not null order by desc LIMIT :start, :limit LIMIT 5000

2 个答案:

答案 0 :(得分:0)

您无需查询即可计算出来。如果您不想要超过5000个结果,这应该有效:

if (($start + $limit) <= 5000) {
    // Do query
}
else {
    // Don't do query, maximum limit reached
}

答案 1 :(得分:0)

您可以使用以下语法在数据库中创建视图:

create view view_name as select * from table where id is not null order by desc LIMIT 5000

然后你将查询ajax无限滚动/分页的视图

select * from view_name where id is not null order by desc LIMIT :start, :limit

注意:对于视图,您可以使用更简单的查询,因为视图已经选择了良好的行(具有非null id),并对它们进行排序。

select * from view_name LIMIT :start, :limit