2013-01-16 45 views
-3

我想在PHP中执行像分页这样的东西,所以我正在记录或限制0,10 这里以这个限制数据为例,我应该知道第11条记录是否存在我可以在显示之前减少一个函数调用以获取并检查记录是否存在。我正在使用PHP,MySQL。检查下一条记录是否存在

+0

'SQL_CALC_FOUND_ROWS'。 – eggyal

+0

SQL_CALC_FOUND_ROWS它将返回no行返回ri8 ??? –

+0

是的,它将返回与查询中指定的条件相匹配的行的总数。检查[this](http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows)out –

回答

1

取0,11(然后是10,11; 20,11等),但显示前10位。这样您将总是知道下一页是否存在(通过检查是否存在第11条记录)。

+0

我也有这个想法,但我需要从返回结果中删除最后一条记录。那是浪费知道吗? –

+0

好吧,我会尝试 –

+0

我假设你只要有数据就用while循环遍历mysqli结果。添加一个变量$ i = 1;并编辑你的while条件为'while(/ * *不是结果* /&$ $ i <= 10)'。确保你也增加了它。现在,循环结束后,检查结果是否还有一行并适当地执行。 –

1

随着分页我想去任何网页。所以在显示任何数据之前。我会查询数据库上的COUNT以了解有多少条记录。然后建立你的页面导航。

或者你只想显示上一个/下一个?而不是像:

Previous - 2 3 4 5 - Next

所以我会用

SELECT COUNT(`id`) as `NumberOfRows` FROM `tablename` 
1

只是要选择

如/

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name 
WHERE id > 100 LIMIT 10; 

后的字段前添加SQL_CALC_FOUND_ROWS发射你的查询w ith limit,你可以触发下面提到的查询来获得总记录数

SELECT FOUND_ROWS();