当前位置:首页 > PHP

php分页实现跳转

2026-02-16 16:04:38PHP

PHP 分页实现跳转

数据库查询与分页逻辑

使用 LIMIT 子句控制每页显示的数据量,结合 $_GET 获取当前页码。假设每页显示 10 条数据:

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$perPage = 10;
$offset = ($page - 1) * $perPage;

$sql = "SELECT * FROM articles LIMIT $offset, $perPage";
$result = $conn->query($sql);

计算总页数

通过数据库查询获取总记录数,并计算总页数:

$totalSql = "SELECT COUNT(*) as total FROM articles";
$totalResult = $conn->query($totalSql);
$totalRows = $totalResult->fetch_assoc()['total'];
$totalPages = ceil($totalRows / $perPage);

生成分页链接

通过循环生成页码链接,并添加当前页高亮样式:

echo '<div class="pagination">';
for ($i = 1; $i <= $totalPages; $i++) {
    $active = $i == $page ? 'active' : '';
    echo "<a href='?page=$i' class='$active'>$i</a>";
}
echo '</div>';

添加样式(CSS)

为分页链接添加基础样式:

.pagination a {
    padding: 8px 16px;
    border: 1px solid #ddd;
    margin: 0 4px;
}
.pagination a.active {
    background-color: #4CAF50;
    color: white;
}

优化跳转功能

添加首页/末页跳转按钮,并限制页码范围:

if ($page > 1) {
    echo "<a href='?page=1'>首页</a>";
    echo "<a href='?page=".($page-1)."'>上一页</a>";
}

if ($page < $totalPages) {
    echo "<a href='?page=".($page+1)."'>下一页</a>";
    echo "<a href='?page=$totalPages'>末页</a>";
}

安全性处理

对页码参数进行过滤,防止 SQL 注入和无效输入:

php分页实现跳转

$page = max(1, min($totalPages, $page)); // 限制页码范围

标签: 分页跳转
分享给朋友:

相关文章

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

vue实现点击跳转

vue实现点击跳转

路由跳转(Vue Router) 在Vue项目中通过vue-router实现页面跳转是最常见的方式。确保已安装并配置路由: // 路由配置示例(router/index.js) import { c…

vue分页插件实现

vue分页插件实现

Vue 分页插件实现方法 使用现成组件库(推荐) Element UI、Ant Design Vue 等主流库已提供成熟分页组件,可直接集成: <template> <el-p…

vue实现音乐跳转

vue实现音乐跳转

使用 Vue 实现音乐跳转功能 在 Vue 中实现音乐跳转功能,通常需要结合 HTML5 的 <audio> 元素和 Vue 的数据绑定及事件处理机制。以下是实现音乐跳转的几种常见方法。…

vue路由跳转实现

vue路由跳转实现

Vue 路由跳转实现方法 在 Vue 中,路由跳转可以通过多种方式实现,以下是常见的几种方法: 声明式导航(模板中使用 <router-link>) 通过 <router-link…

vue如何实现跳转

vue如何实现跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过以下几种方式,具体取决于项目结构和需求。 使用 router-link 组件 router-link 是 Vue Router 提供的组…