[英]How to fetch data in mysql with next and previous
我的数据库有5,000多个记录,我想获取50行,然后在用户单击“下一步”时获取下50条,而在用户单击“上一步”时获取相反的行。
表名称:事件
我的审判是
select * from events where entred_by = '$id' limit $limit, 50
但问题是我无法计算下一行和上一行。
编辑
$start = '0';
$PAGE_P = $_GET['p'];
$PAGE_N = $_GET['n'];
if(!numeric($PAGE_N)){
$PAGE_N = 50;
$PAGE_P = 0;
$start = '0';
}else{
if(isset($_GET['n'])){
$PAGE_N = $PAGE_N + 50;
$PAGE_P = $PAGE_N - 50;
$start = $PAGE_N;
}else{
$PAGE_N = $PAGE_P + 50;
$PAGE_P = $PAGE_N - 50;
$start = $PAGE_P;
}
}
$this->query = SQL::get("
SELECT * FROM event
INNER JOIN user
ON user.user_id = event.entered_by
ORDER BY event_id ASC LIMIT $start,50
");
我进行了编辑,可以使用下一个按钮进行编辑,该按钮可以使用,但是当我按上一个按钮时,它将返回到第1行。
SELECT * FROM events WHERE entred_by = '$id' ORDER BY id LIMIT $start, $limit
设置$ start值(要开始的行号)和$ limit(50)。
您需要使用LIMIT关键字,也可能需要使用ORDER BY。
更新以进行编辑:
好的,忽略验证,应该是这样的:
$this->query = SQL::get("
SELECT * FROM event
INNER JOIN user
ON user.user_id = event.entered_by
ORDER BY event_id ASC
LIMIT $start_row, $number_of_rows
");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.