基于php的MySQL数据库分页
要实现基于PHP的MySQL数据库分页,需要完成以下步骤:
1.连接MySQL数据库。使用PHP的mysqli或PDO扩展库函数连接MySQL数据库,并选择要查询的数据库。
2.获取总记录数。使用SQL查询语句获取满足条件的总记录数,例如:SELECT COUNT(*) FROM table_name WHERE condition。
3.计算分页数和当前页数。根据总记录数和每页显示的记录数,计算出总页数和当前页数。
4.查询当前页数据。根据当前页数和每页显示的记录数,使用SQL查询语句获取当前页的数据,例如:SELECT * FROM table_name WHERE condition LIMIT start, count。
5.显示分页导航。根据当前页数和总页数,生成分页导航条,包括上一页、下一页、首页、末页等按钮,点击按钮可以跳转到对应的页码。
6.显示当前页数据。将查询到的当前页数据显示在页面上。
下面是一个简单的PHP MySQL数据库分页的示例代码:
<?php
//连接MySQL数据库
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
$mysqli->set_charset('utf8');
//获取总记录数
$sql = "SELECT COUNT(*) FROM table_name WHERE condition";
$result = $mysqli->query($sql);
$row = $result->fetch_array();
$total_records = $row[0];
//计算分页数和当前页数
$records_per_page = 10;
$total_pages = ceil($total_records / $records_per_page);
if (isset($_GET['page']) && $_GET['page'] > 0 && $_GET['page'] <= $total_pages) {
$current_page = $_GET['page'];
} else {
$current_page = 1;
}
//查询当前页数据
$start_index = ($current_page - 1) * $records_per_page;
$sql = "SELECT * FROM table_name WHERE condition LIMIT $start_index, $records_per_page";
$result = $mysqli->query($sql);
//显示分页导航
echo '<div class="pagination">';
if ($current_page > 1) {
echo '<a href="?page=1">首页</a>';
echo '<a href="?page=' . ($current_page - 1) . '">上一页</a>';
}
if ($current_page < $total_pages) {
echo '<a href="?page=' . ($current_page + 1) . '">下一页</a>';
echo '<a href="?page=' . $total_pages . '">末页</a>';
}
echo '</div>';
//显示当前页数据
echo '<table>';
while ($row = $result->fetch_assoc()) {
echo '<tr><td>' . $row['column1'] . '</td><td>' . $row['column2'] . '</td></tr>';
}
echo '</table>';
//关闭数据库连接
$mysqli->close();
?>
其中,table_name和condition需要替换为实际的表名和查询条件。注释中的代码说明了每个步骤的作用,可以根据实际需求进行修改和优化。
原文地址: https://www.cveoy.top/t/topic/baNF 著作权归作者所有。请勿转载和采集!