博客列表 >完成员工信息表的分页显示功能:2019年2月28号作业

完成员工信息表的分页显示功能:2019年2月28号作业

连界现代周伟的博客
连界现代周伟的博客原创
2019年03月04日 00:30:46992浏览

分页显示要注意的几点:

  1. 要设置每一页显示的记录数量:$pageNum

  2. 获取当前的页数:url参数: $page=isset($_GET['p']) ? $_GET['p'] : 1;

  3. 获取总记录数:$total  总的记录数量

  4. 获取总页数:  $pages  = ceil($total / $pageNum)   //ceil()函数为向上取整

  5. 获取每一页的起始索引: 偏移量  :  $offset = ($page - 1) * $pageNum

实例  (staff_list.php)

<?php

// 员工信息
//1.连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');
//分页显示
//设置一下每一页显示的记录
$pageNum = 5;
//获取当前 的页数:URL参数
$page = isset($_GET['p']) ? $_GET['p'] : 1;
//获取总页数
$stmt = $pdo->prepare('SELECT COUNT(*) FROM `staff`');
$stmt->execute();
$total = $stmt->fetchColumn(0);
$pages = ceil($total / $pageNum);  //ceil()向上取整
//每一页的起始索引:偏移量
$offset = ($page - 1) * $pageNum;





//2.执行的操作
$sql = "SELECT * FROM `staff` WHERE `is_show`=1 LIMIT {$offset},{$pageNum}";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$staffs = $stmt->fetchAll(PDO::FETCH_ASSOC);

//3.关闭连接
$pdo = null;
// 标题
$title = '员工信息表';

// 表格标题
$tableTitle = $title;

// 员工数量
//$total = count($staffs);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><?php echo $title; ?></title>
    <style>
        table,th,td {
            border: 1px solid #666;
            padding: 8px;
        }
        table {
            border-collapse: collapse;
            width: 80%;
            text-align: center;
            margin: 30px auto;
        }
        thead tr:first-of-type {
            background-color: lightblue;
        }

        tbody tr:hover {
            background-color: #efefef;
        }

        table > caption {
            font-size: 1.2rem;
            margin-bottom: 15px;
        }
        /*.total {*/
            /*text-align: center;*/
        /*}*/
        table ~ p {
            text-align: center;
        }
        table + p a {
            display: inline-block;
            width: 50px;
            height: 24px;
            border: 1px solid #333;
            text-decoration: none;
        }
        table + p a:hover {
            background: lightblue;
        }

        button:hover {
            cursor: pointer;
            background-color: lightblue;
        }

        /*添加按钮给个特殊样式*/
        #add {
            height: 25px;
            width: 90px;
            position: absolute;
            left: 650px;
            top: 40px;
        }

    </style>
</head>
<body>
<button onclick="location.href='staff_add.php'" id="add">添加</button>

<table>
    <caption>
        <?php
        echo '<span style="color:red">' . $tableTitle . '</span>';
        ?>
    </caption>
    <thead>
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
        <th>手机</th>
        <td>入职</td>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>

    <!--foreach()替代语法-->
    <?php foreach($staffs as $staff) : ?>
        <tr>

            <td><?php echo $staff['id']; ?></td>
            <td><?php echo $staff['name']; ?></td>


            <td><?php echo $staff['age']; ?></td>

            <!--if()替代语法-->
            <td>
                <?php if($staff['sex'] == 1) : ?>
                    男
                <?php else: ?>
                    女
                <?php endif; ?>
            </td>


            <!--如果只是简单的输出变量可以使用php短标签语法-->
            <td><?=$staff['mobile']?></td>

            <td>
                <?php
                echo date('Y/m/d',$staff['hiredate']);
                ?>
            </td>

            <td>
                <button onclick="location.href='staff_edit.php?id=<?=$staff['id']?>'">编辑</button>
                <button onclick="return confirm('是否删除?') ? location.assign('staff_manage.php?action=del&id=<?=$staff['id']?>') : false"><span style="color:red">删除</span></button>
            </td>

        </tr>
    <?php endforeach;?>

    </tbody>
</table>


<!--<p>
    <a href="staff_list.php?p=1">1</a>
    <a href="staff_list.php?p=2">2</a>
    <a href="staff_list.php?p=3">3</a>
    <a href="staff_list.php?p=4">4</a>
    <a href="staff_list.php?p=5">5</a>
</p>-->
<!--动态生成页码-->
<p>
    <a href="staff_list.php?p=1">首页</a>
<?php for($i=1;$i<=$pages;$i++): ?>
<!--    <a href="staff_list.php?p=--><?//=$i?><!--">--><?//=$i?><!--</a>-->
<!--将当前页码高亮-->
<?php if(isset($_GET['p']) && $_GET['p'] == $i) {
    $bgColor = 'style="background: lightblue"';
    } else {
    $bgColor = '';
    }
?>

    <a href="javascript: location.href='<?=$_SERVER['PHP_SELF']?>?p=<?=$i?>'" <?=$bgColor?>><?=$i?></a>

<?php endfor; ?>
    <a href="staff_list.php?p=<?=$pages?>">尾页</a>
</p>

<p class="total">总计:<?php echo $total;  ?>人</p>

</body>

</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


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