在具有两个不同查询的单个页面中创建两个分页,可以通过以下步骤实现:
index.php
,用于展示页面内容和处理分页逻辑。index.php
文件中,使用PHP连接到数据库,并执行两个不同的查询语句,分别获取两个查询结果。index.php
文件。index.php
文件中,根据传递的页码参数,更新查询语句中的LIMIT子句,以获取相应页码的数据。以下是一个示例代码,用于演示如何使用PHP在具有两个不同查询的单个页面中创建两个分页:
<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询1
$query1 = "SELECT * FROM table1";
$result1 = $conn->query($query1);
// 查询2
$query2 = "SELECT * FROM table2";
$result2 = $conn->query($query2);
// 每页显示的数据量
$perPage = 10;
// 计算查询1的总页数
$totalPages1 = ceil($result1->num_rows / $perPage);
// 计算查询2的总页数
$totalPages2 = ceil($result2->num_rows / $perPage);
// 获取当前页码
$page = isset($_GET['page']) ? $_GET['page'] : 1;
// 计算查询1的数据范围
$start1 = ($page - 1) * $perPage;
$query1 .= " LIMIT $start1, $perPage";
$result1 = $conn->query($query1);
// 计算查询2的数据范围
$start2 = ($page - 1) * $perPage;
$query2 .= " LIMIT $start2, $perPage";
$result2 = $conn->query($query2);
// 展示查询1的数据
echo "<h2>查询1的结果:</h2>";
if ($result1->num_rows > 0) {
while ($row = $result1->fetch_assoc()) {
echo $row['column1'] . " - " . $row['column2'] . "<br>";
}
} else {
echo "没有结果";
}
// 创建查询1的分页链接
echo "<div class='pagination'>";
for ($i = 1; $i <= $totalPages1; $i++) {
echo "<a href='index.php?page=$i'>$i</a>";
}
echo "</div>";
// 展示查询2的数据
echo "<h2>查询2的结果:</h2>";
if ($result2->num_rows > 0) {
while ($row = $result2->fetch_assoc()) {
echo $row['column1'] . " - " . $row['column2'] . "<br>";
}
} else {
echo "没有结果";
}
// 创建查询2的分页链接
echo "<div class='pagination'>";
for ($i = 1; $i <= $totalPages2; $i++) {
echo "<a href='index.php?page=$i'>$i</a>";
}
echo "</div>";
// 关闭数据库连接
$conn->close();
?>
请注意,上述示例代码仅为演示目的,实际应用中可能需要根据具体情况进行适当修改和优化。另外,分页样式和交互效果可以根据需求进行自定义设计。
领取专属 10元无门槛券
手把手带您无忧上云