我几乎已经设法让分页工作了。 我想向用户显示,找到的记录总数,以及当前显示的记录。例如:
4000 found, displaying 0-100.
我正在使用 nr 2 对此进行测试(因为我没有那么多记录,大概有 20 条)。
所以我正在使用 LIMIT $start, $nr_results;
我是否必须进行两次查询才能以我想要的方式显示结果,一次查询获取所有记录,然后进行一次 mysql_num_rows
以获取所有记录,然后进行一次带有 LIMIT 的查询?
我有这个:
mysql_num_rows($qry_result);
$total_pages = ceil($num_total / $res_per_page); //$res_per_page==2 and $num_total = 2
if ($p - 10 < 1) {
$pagemin=1;
}
否则{ $pagemin = $p - 10; } 如果($p + 10 > $total_pages){ $pagemax = $total_pages; } 别的 { $pagemax = $p + 10;
这里是查询:
SELECT
mt.*,
fordon.*,
boende.*,
elektronik.*,
business.*,
hem_inredning.*,
hobby.*
FROM classified mt
LEFT JOIN fordon ON fordon.classified_id = mt.classified_id
LEFT JOIN boende ON boende.classified_id = mt.classified_id
LEFT JOIN elektronik ON elektronik.classified_id = mt.classified_id
LEFT JOIN business ON business.classified_id = mt.classified_id
LEFT JOIN hem_inredning ON hem_inredning.classified_id = mt.classified_id
LEFT JOIN hobby ON hobby.classified_id = mt.classified_id
ORDER BY modify_date DESC
LIMIT 0, 2
谢谢,如果您需要更多信息,请告诉我。
基本上问题是,我必须进行两次查询吗?
最佳答案
您可以使用以下两个查询:
SELECT SQL_CALC_FOUND_ROWS *
FROM t_source
LIMIT 100, 10;
SELECT FOUND_ROWS();
第一个 将返回结果,第二个 将显示将返回的记录数,如果没有LIMIT
子句。
关于php - 菜鸟MySql关于分页的问题;一次查询就够了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2781978/