PHP分页HTML和PHP的完整代码
时间: 2023-09-01 07:08:50 浏览: 49
以下是一个简单的PHP分页HTML和PHP的完整代码:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>PHP分页演示</title>
</head>
<body>
<h1>PHP分页演示</h1>
<?php
// 获取当前页码
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
// 每页显示的记录数
$limit = 10;
// 数据总数
$total = 100;
// 计算总页数
$totalPages = ceil($total / $limit);
// 当前页码不能小于1,大于总页数不能超过总页数
$page = max($page, 1);
$page = min($page, $totalPages);
// 计算偏移量
$offset = ($page - 1) * $limit;
// 模拟数据库查询
$data = range(1, $total);
$data = array_slice($data, $offset, $limit);
// 输出数据
echo '<ul>';
foreach ($data as $value) {
echo "<li>{$value}</li>";
}
echo '</ul>';
// 输出分页链接
echo '<div>';
echo "<a href=\"?page=1\">首页</a>";
if ($page > 1) {
echo "<a href=\"?page=".($page - 1)."\">上一页</a>";
}
echo "<span>第 {$page} 页 / 共 {$totalPages} 页</span>";
if ($page < $totalPages) {
echo "<a href=\"?page=".($page + 1)."\">下一页</a>";
}
echo "<a href=\"?page={$totalPages}\">尾页</a>";
echo '</div>';
?>
</body>
</html>
```
PHP代码解释:
- 获取当前页码:使用 `$_GET` 超级全局变量获取 URL 中的 `page` 参数,如果没有则默认为1;
- 每页显示的记录数:定义一个变量 `$limit`,表示每一页显示的数据记录数;
- 数据总数:假设有 100 条数据记录;
- 计算总页数:使用 `ceil()` 函数向上取整计算总页数;
- 当前页码不能小于1,大于总页数不能超过总页数:使用 `max()` 和 `min()` 函数对当前页码进行限制;
- 计算偏移量:使用 `$offset = ($page - 1) * $limit;` 计算偏移量,用于 SQL 语句的 LIMIT 子句;
- 模拟数据库查询:使用 `range()` 函数生成一组指定范围的数据,使用 `array_slice()` 函数对数据进行分页处理;
- 输出数据:使用 `foreach` 循环遍历数据,输出到页面上;
- 输出分页链接:根据当前页码和总页数输出分页链接。