我正在制作一个表,其中有30个条目在in,从表从MySQL。我使用LIMIT 30
在代码发送到sql,但也有一堆下一页。该表将包含姓、名和id。在页面底部,有一个下一页按钮。它链接到同一个页面,但在get变量中发送最后一个id。
<a href=<?php echo "students_view.php?id=$lastvari"; ?>><button type="button">Next Page</button></a>
$lastvari是最后一个id。当从mysql调用数据时,我使用prepare语句:
$stmt = $con->prepare("SELECT Last_Name, First_Name, Student_ID FROM Students LIMIT 30");
$stmt->execute();
$stmt->bind_result($last_name, $first_name, $student_id);
我如何告诉MySQL在发送给它的ID之后启动?我研究row_number(),但我不确定这是否是我要找的。谢谢大家
要获得第二页,使用LIMIT
的双数字形式:
SELECT Last_Name, First_Name, Student_ID FROM Students LIMIT 30,30
获取第三页:
SELECT Last_Name, First_Name, Student_ID FROM Students LIMIT 60,30
等等。第一页应该是LIMIT 0,30
每次传递最后id到下一页,我建议一个替代方案。
假设当前url为www.yoursite/students_view.php?page=0
<?php
$start = $_GET['page'] * 30;
$stmt = $con->prepare("SELECT Last_Name, First_Name, Student_ID FROM Students LIMIT $start, 30");
$stmt->execute();
$stmt->bind_result($last_name, $first_name, $student_id);
?>
<?php
$page = $_GET['page']; //don't forget to sanitize
$page = $page+1;
?>
<a href="<?php echo "students_view.php?page=$page"; ?>" >
<button type="button">Next Page</button>
</a>