制作数据表的分页
1、要求实现当前页码高亮。
2、利用bootstrap框架美化。
3、当首页时禁用首页按钮、上一页按钮。当尾页时禁用尾页按钮、下一页按钮。
<?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">«</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">»</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(); }?>