我正在制作一个从mysql获取一些行并将它们返回给用户的脚本 一段时间后。这些行数增加了300,现在加载页面需要一点时间。 我想要分页。每个页面都包含50个,所以我有6页,我的意思是:
row 1-50 in page 1
row 51-100 in page 2
row 101 to 150 page 3
row 151 to 200 page 4
row 201 to 250 page 5
row 250 to 300 page 6
我有一些想法在我的mysql查询中使用LIMIT限制它们但不知道如何为它做按钮(页面按钮) 我希望代码能够做到这一点 抱歉我的英语不好,我希望你明白。
答案 0 :(得分:1)
在SQL语句中使用LIMIT
。
SELECT * FROM `wherever` ORDER BY `whatever` LIMIT 0,50
然后用PHP变量替换起点(0),并将该变量设置为$start = $page_number * 50;
SELECT * FROM `wherever` ORDER BY `whatever` LIMIT $start,50
在此处阅读mysql LIMIT语法:https://dev.mysql.com/doc/refman/5.0/en/select.html 第一个数字是开始,第二个数字是多少。除非只给出一个数字,否则还要多出几个。
就按钮而言,有几种方法可以做到这一点。但基本数学在这里:
$total_rows = mysql_num_rows(mysql_query($original_query_without_limit));
$total_pages = $total_rows / 50;
$prev_page = $current_page - 1;
$next_page = $current_page + 1;
if ($prev_page > 0){
// Print previous page link/button
}
if ($next_page < $total_pages){
// Print next page link/button
}
答案 1 :(得分:1)
尝试使用OFFSET
查询
SELECT * FROM `table` LIMIT 50 OFFSET <amount>