博客列表 >php之分页实现

php之分页实现

Serendipity-Ling
Serendipity-Ling原创
2018年01月08日 00:47:47679浏览

QQ图片20180108004629.png

<?php
//分页操作
//流程
//1.连接数据库,2查询数据库,并遍历出来,3.建立table布局,在页面上显示出来
//前提,规划好每个页面展示的记录条数$num,之后算出总共需要几个页面$page
//设置好$num,获取$page
$num = 4;
$page = isset($_GET['p'])?$_GET['p']:1;
//设置偏移量
$offset = ($page-1)*$num;
$dsn = 'mysql:host=localhost;dbname=demo1';
$dbName = 'root';
$dbPassword = 'root';
//在建立了源数据,数据库登录用户名及密码,new一个pdo对象
$pdo = new PDO($dsn,$dbName,$dbPassword);
//连接好之后,准备查询语句
$sql = "SELECT `id`,`name`,`email` FROM `userLog` LIMIT :offset,:num";
//生成预处理对象,绑定参数
$pdoStmt = $pdo->prepare($sql);
$pdoStmt->bindParam(':offset',$offset,PDO::PARAM_INT);
$pdoStmt->bindParam(':num',$num,PDO::PARAM_INT);
//执行查询语句
$result = $pdoStmt->execute();
//echo $pdoStmt->rowCount();//测试有没有查询到值
//if (true == $result)
//{
//    echo '<table cellpadding="5" cellspacing="0">';
//    echo '<tr bgcolor="#87ceeb"><th>ID</th><th>NAME</th><th>EMAIL</th></tr>';
    //这里直接用foreach($pdoStmt as $row)
//    while($row = $pdoStmt->fetch())
//    {
//        echo '<tr>';
//        echo '<td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.$row['email'].'</td>';
//        echo '</tr>';
//    }
//   echo '</table>';
//}
//计算共计多少页
$pdoStmt2 = $pdo->prepare("SELECT * FROM userLog");
$pdoStmt2->execute();
$totalPage = ceil($pdoStmt2->rowCount()/$num);//这里ceil()是向上取整



?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="dist/css/bootstrap.css">
    <script src="jquery-3.2.1.js"></script>
    <script src="dist/js/bootstrap.js"></script>
    <title>用户信息表</title>
</head>
<body>
<div class="container">
    <div class="row" align="center">
        <h3 align="center">用户信息表</h3>
        <table class="table table-bordered table-striped">
            <tr class="bg-info">
                <th>ID</th><th>NAME</th><th>EMAIL</th>
            </tr>
            <?php foreach($pdoStmt as $row): ?>
 <tr>
                    <td><?php echo $row['id']; ?></td>
                    <td><?php echo $row['name']; ?></td>
                    <td><?php echo $row['email']; ?></td>
                </tr>
            <?php endforeach; ?>

 </table>
    </div>
    <nav aria-label="Page navigation" class="row text-center">
        <ul class="pagination">
            <li>
                <a href="http://localhost/logDemo/admin.php?p=<?php echo $page=($page==1)?$page:($page-1); ?>" aria-label="Previous">
                    <span aria-hidden="true">&laquo;</span>
                </a>
            </li>
            <li><a href="http://localhost/logDemo/admin.php?p=1">首页</a></li>
            <?php
            for ($i=1; $i<=$totalPage; $i++)
            {
                echo '<li><a href="http://localhost/logDemo/admin.php?p='.$i.'">'.$i.'</a></li>';
 }
            ?>
 <li><a href="http://localhost/logDemo/admin.php?p=<?php echo $totalPage; ?>">尾页</a></li>
            <li>
                <a href="http://localhost/logDemo/admin.php?p=<?php echo $page=($page==$totalPage)?$totalPage:($page+1); ?>" aria-label="Next">
                    <span aria-hidden="true">&raquo;</span>
                </a>
            </li>
        </ul>
    </nav>
</div>
</body>
</html>


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议