我正在构建一个搜索页面,每个页面都有10个结果。为此,我想在底部显示页码(例如在谷歌中),这样用户就可以跳转到特定的页面结果。为了做到这一点,我需要知道查询的总体计数(例如,如果我每页显示10个结果,并且特定查询在我的表中返回73行,我将需要显示8页的链接)。
我能想到的唯一方法是使用以下(显然效率低下)查询:
// Query for the current page
$res = mysql_query("select * from TABLE WHERE COL='Sample' LIMIT $offset,10");
// Geeting the total count do I can build links to other pages
$res2 = mysql_query("select COUNT(*) fromTABLE WHERE COL='Sample'");
这是唯一的方法吗?
谢谢,
丹尼
答案 0 :(得分:8)
你可以use
SQL_CALC_FOUND_ROWS
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
SQL_CALC_FOUND_ROWS告诉MySQL 计算会有多少行 在结果集中,无视任何 LIMIT条款。行数可以 然后用SELECT检索 FOUND_ROWS()