使用SQL进行分页查询

时间:2015-09-01 00:41:16

标签: php mysql

我有一个名为'items'的表

它包含以下列:idnamestockpricecategory_id

我的查询是

SELECT * FROM items WHERE category_id = {$category_id} LIMIT 10;

我的下一页逻辑是将所有ID存储在名为$oldIds的变量中,下一个查询是:

SELECT * FROM items WHERE category_id = {$category_id} AND id NOT IN ($oldIds)  LIMIT 10

对于另一个页面,我再次存储来自第1页和第2页的ID再次执行查询

SELECT * FROM items WHERE category_id = {$category_id} AND id NOT IN ($oldIds)  LIMIT 10

我是否继续使用这种查询方式,还是有更好的查询方式?

1 个答案:

答案 0 :(得分:1)

for mysql

第一个陈述应该是:

mysql_query("SELECT * FROM {$statement} ORDER BY datetime ASC LIMIT {$limit} OFFSET {offset}

如果您要查找的每页10条记录,并且您希望在第2页上显示记录,即您的查询的记录11-20将如下所示:

mysql_query("SELECT * FROM {$statement} ORDER BY datetime ASC LIMIT 10 OFFSET 10