PHP分页函数:使用mysqli和PDO扩展实现
发布时间:2023-06-29 22:13:31
PHP分页函数是用于将数据分页显示,以提高系统性能和用户体验的技术。在本文中,我们将介绍如何使用mysqli和PDO扩展来实现PHP分页函数。
首先,我们需要创建一个数据库连接。使用mysqli扩展,可以使用以下代码创建一个数据库连接:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
使用PDO扩展,可以使用以下代码创建一个数据库连接:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
接下来,我们需要编写一个函数来执行分页。以下是一个使用mysqli扩展的示例分页函数:
function getPerPageData($conn, $table, $pageNum, $perPage) {
$start = ($pageNum - 1) * $perPage;
$query = "SELECT * FROM $table LIMIT $start, $perPage";
$result = $conn->query($query);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
// 处理每一行数据
echo $row["column1"]. " - " . $row["column2"]. "<br>";
}
} else {
echo "0 results";
}
}
以下是一个使用PDO扩展的示例分页函数:
function getPerPageData($conn, $table, $pageNum, $perPage) {
$start = ($pageNum - 1) * $perPage;
$query = "SELECT * FROM $table LIMIT :start, :perPage";
$stmt = $conn->prepare($query);
$stmt->bindParam(':start', $start, PDO::PARAM_INT);
$stmt->bindParam(':perPage', $perPage, PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($stmt->rowCount() > 0) {
foreach ($result as $row) {
// 处理每一行数据
echo $row["column1"]. " - " . $row["column2"]. "<br>";
}
} else {
echo "0 results";
}
}
最后,我们可以调用分页函数来显示分页数据。以下是一个示例调用函数:
$table = "myTable"; $pageNum = 1; // 当前页码 $perPage = 10; // 每页显示的记录数 getPerPageData($conn, $table, $pageNum, $perPage);
在上面的示例中,我们将要分页的表名传递给了分页函数,并指定了当前页码和每页显示的记录数。然后,将分页函数调用显示在页面上。
这就是使用mysqli和PDO扩展实现PHP分页函数的基本步骤。你可以根据自己的需求进行修改和扩展。
