我在数据库表中有数百条记录。
$result = mysqli_query($con,"SELECT * FROM booking_tbl");
echo "<table border='1'>
<tr>
<th>Booking ID</th>
<th>Name</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['booking_nmbr'] . "</td>";
echo "<td>".$row['name_title']." ".$row['sender']."</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
显示表booking_tbl
中的所有记录。
但是我希望每页打破25个结果。我该怎么做?
答案 0 :(得分:1)
一种简单的方法是使用limit
和offset
关键字。 limit
控制要显示的行数,offset
控制查询开始的位置。显然,它们应该与order by
子句一起使用。
因此,例如,对于您使用的第一页:
SELECT * FROM booking_tbl ORDER BY booking_nmbr LIMIT 25 OFFSET 0
第二页:
SELECT * FROM booking_tbl ORDER BY booking_nmbr LIMIT 25 OFFSET 25
答案 1 :(得分:1)
易。只需使用MySQL LIMIT
子句。所以你的代码是这样的:
$result = mysqli_query($con,"SELECT * FROM booking_tbl");
只需将其设置为:
$result = mysqli_query($con,"SELECT * FROM booking_tbl LIMIT 0,10");
这会将查询设置为从10
(意味着第一条记录)的偏移量中获取0
条记录。
格式基本上是:
LIMIT offset, count
offset
是要检索的记录集的实际偏移量。并且count
是记录计数。
因此,要知道您的下一步是通过获取URL参数来设置分页,并执行以下操作:
$offset = $_REQUEST['offset'];
$count= $_REQUEST['count'];
$result = mysqli_query($con,"SELECT * FROM booking_tbl LIMIT $offset,$count");
我认为伪代码是可行的,但你应该对$_REQUEST
值进行过滤,但一般概念是正确的。
答案 2 :(得分:1)
如果您有兴趣使用Javascript实现此目的,那么您可以使用javascript DataTable库。 http://datatables.net/
您将通过一种非常简单的方法获得表格中的分页,搜索和其他一些功能。 此外,它易于实现并能够处理非常大的数据。