ob-页面静态化(1)

$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();
?>

 

posted @ 2021-07-29 13:43  青烟绕指柔  阅读(44)  评论(0编辑  收藏  举报