博客列表 >Day30-2018/1/5(pdo-预处理-数据库连接查找分页效果)

Day30-2018/1/5(pdo-预处理-数据库连接查找分页效果)

SmallKing的博客
SmallKing的博客原创
2018年01月06日 17:25:00685浏览

制作数据表的分页

    1、要求实现当前页码高亮。

    2、利用bootstrap框架美化。

    3、当首页时禁用首页按钮、上一页按钮。当尾页时禁用尾页按钮、下一页按钮。

2018-01-06_173224.png

2018-01-06_173250.png

2018-01-06_173305.png

<?php
try{
 $num=5;//每页数量
 $p=1; //初始化当前页码
 $p=isset($_GET['p'])?$_GET['p']:$p;//获取用户按钮页码
//设置信息,数据库登入账号密码
 $dsn="mysql:host=localhost;dbname=demo";
 $userName='root';
 $password='root';
//连接数据库
 $pdo=new PDO($dsn,$userName,$password);
//设置预处理语句
 $sql="SELECT * FROM user1 ";
//执行prepare()方法创建PDOStatement对象
 $pdo_stmt=$pdo->prepare($sql);
 if ($pdo_stmt==true) {
 //查询数据
 $res = $pdo_stmt->execute();
 //计算分页总页数
 $pageTotal = ceil($pdo_stmt->rowCount() / $num);
//        echo '<p>'.$pageTotal.'hahh</p>';
 $offset = ($p - 1) * $num;
 //设置预处理语句
 $sql = "SELECT * FROM user1 LIMIT :offset,:num";
 //执行prepare()方法创建PDOStatement对象
 $pdo_stmt = $pdo->prepare($sql);
 //绑定offset与num
 $pdo_stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
 $pdo_stmt->bindParam(':num', $num, PDO::PARAM_INT);
 //查询数据
 $res = $pdo_stmt->execute();
    }
 ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css">
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="http://apps.bdimg.com/libs/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <title>用户信息表</title>
</head>
<body>
<!--利用bootstrap 生成表格 以及分页-->
<div class="container">
<!--    生成表格-->
 <div class="row">
        <div class="col-sm-12">
            <div class="table-responsive c">
                <table class="table table-hover table-bordered active text-center">
                    <caption><h3 align='center'>用户信息表</h3></caption>
                    <tr>
                        <td>id</td>
                        <td>姓名</td>
                        <td>邮箱</td>
                        <td>密码</td>
                    </tr>
<!--                    输出表格内容-->
 <?php
                    if ($res==true){
 while($row=$pdo_stmt->fetch()){
 echo "<tr>";
 echo '<td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.$row['email'].'</td><td>'.$row['password'].'</td>';
 echo "</tr>";
                        }
                    }
 ?>
 </table>
            </div>
        </div>
    </div>
<!--    生成分页-->
 <div class="row">
        <div class="col-sm-12 text-center">
            <nav aria-label="Page navigation ">
                <ul class="pagination">
<!--                      首页 当前为首页时禁用-->
 <li class=<?php echo($p==1?'disabled':'') ?>>
                        <a   href="<?php echo($p==1?'javascript:void(0);':'http://www.day.com/day30/page.php?p=1')?>"  aria-label="Previous">
                            首页
                        </a>
                    </li>
<!--                    上一页按钮 当前为首页时禁用-->
 <li class=<?php echo($p==1?'disabled':'') ?>>
                        <a   href="<?php echo($p==1?'javascript:void(0);':"http://www.day.com/day30/page.php?p=".($p-1))?>" aria-label="Previous">
                            <span aria-hidden="true">&laquo;</span>
                        </a>
                    </li>
<!--                    循环生成页码按钮-->
 <?php
                    for ($i=1;$i<=$pageTotal;$i++) {
 if($i==$p){
 echo '<li><a  href="http://www.day.com/day30/page.php?p=' . $i . '" >' . $i . '</a></li>';
                        }else {
 echo '<li><a  href="http://www.day.com/day30/page.php?p=' . $i . '" >' . $i . '</a></li>';
                        }
                    }
 ?>
<!--                    下一页按钮  当前为尾页时禁用-->
 <li class=<?php echo($p==$pageTotal?'disabled':'') ?>>
                        <a   href="<?php echo($p==$pageTotal?'javascript:void(0);':"http://www.day.com/day30/page.php?p=".($p+1))?>" aria-label="Next">
                            <span aria-hidden="true">&raquo;</span>
                        </a>
                    </li>
<!--                    尾页 当前为尾页时禁用-->
 <li class=<?php echo($p==$pageTotal ?'disabled':'') ?>>
                        <a   href="<?php echo($p==$pageTotal?'javascript:void(0);':'http://www.day.com/day30/page.php?p='.$pageTotal)?>" aria-label="Previous">
                           尾页
                        </a>
                    </li>
                </ul>
            </nav>
        </div>
    </div>
</div>
</body>
</html>
<?php
//验证出错信息
}catch(PDOException $e){
 echo $e->getMessage();
 exit();
}?>



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