$page = $_GET['page'] ?? 1;
$filename = 'list_' . $page . '.html';
////判断有没有静态页面,有的话直接读取静态页面,没有的话,连接数据库,查询数据并且生成静态页面;
if (file_exists($filename)) {
echo file_get_contents($filename);
die();
}
ob_start();//打开缓冲区
$pdo = new PDO('mysql:host=127.0.0.1;dbname=blog-admin', 'root', 'root');
$countSql = "select * from caiji";
$count = $pdo->query($countSql)->rowCount();//总记录数
$size = 3; //每页显示条数
$total_page = ceil($count / $size);//总页数
$offset = ($page - 1) * $size; //偏移量
$prev = $page - 1 > 1 ? $page - 1 : 1; //上一页
$next = $page + 1 < $total_page ? $page + 1 : $total_page; //下一页
$sql = "select * from caiji limit $offset,$size"; //limit截取
$pdoStatement = $pdo->query($sql);
$data = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<table border="1">
<th>编号</th>
<th>标题</th>
<th>图片</th>
<th>作者</th>
<th>浏览量</th>
<th>点赞量</th>
<?php foreach ($data as $key => $v): ?>
<tr>
<td><?php echo $v['id']; ?></td>
<td><?php echo $v['title']; ?></td>
<td><img src="<?php echo $v['img']; ?>"/></td>
<td><?php echo $v['author']; ?></td>
<td><?php echo $v['views']; ?></td>
<td><?php echo $v['zan']; ?></td>
</tr>
<?php endforeach; ?>
</table>
<a href="?page=1"/>首页</a>
<a href="?page=<?php echo $prev; ?>"/>上一页</a>
<?php for ($i = 1; $i <= $total_page; $i++): ?>
<a href="?page=<?php echo $i; ?>" /><?php echo $i; ?></a>
<?php endfor; ?>
<a href="?page=<?php echo $next; ?>"/>下一页</a>
<a href="?page=<?php echo $total_page; ?>"/>首页</a>
</body>
</html>
<?php
$str = ob_get_contents(); //获取缓冲区的内容
file_put_contents($filename, $str);//生成静态页面
ob_flush();
ob_get_clean();
?>