一尘不染

MySQL数据-实现分页的最佳方法?

mysql

我的iPhone应用程序连接到我的PHP Web服务,以从MySQL数据库检索数据。一个请求可以返回500个结果。

一次实现分页并检索20个项目的最佳方法是什么?

假设我从数据库中收到了前20个广告。现在如何请求接下来的20个广告?


阅读 271

收藏
2020-05-17

共1个答案

一尘不染

从MySQL文档

LIMIT子句可用于约束SELECT语句返回的行数。LIMIT接受一个或两个数字参数,这两个参数都必须是非负整数常量(使用预处理语句时除外)。

有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为0(不是1):

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

要检索从某个偏移量到结果集结尾的所有行,可以为第二个参数使用较大的数字。该语句检索从第96行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

使用一个参数,该值指定从结果集的开头返回的行数:

SELECT * FROM tbl LIMIT 5;     # Retrieve first 5 rows

换句话说,LIMIT row_count等效于LIMIT 0 row_count。

2020-05-17