博主信息
博文 48
粉丝 3
评论 1
访问量 46226
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
分页函数的封装及使用——2018年4月28日
JackBlog
原创
847人浏览过

GIF.gif

实例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>设备列表</title>
		<link rel="stylesheet" type="text/css" href="css/main.css"/>
	</head>
	<body>
    <?php
    require 'lib/func_pdo.php';
    require 'lib/func_paging.php';
    $pdo = connect();

//    分页变量设置
 $page = isset($_GET['page']) ? $_GET['page']:1; //    默认设置为第一页
    $page = $page<=0 ? 1:$page; //如果get提交的page参数值小于等于0,设置默认页为1
//    每页显示的行数
    $page_rownum = 5;
//获取返回数据和总行数
   list($data,$rownum) =  paging($pdo,'road','*',$where,'id','asc',$page,$page_rownum);

//    计算总页数
    $pages = ceil($rownum/$page_rownum);

    ?>


		<div class="main">
			<table width="100%">
				<tr>
					<th>ID</th>
					<th>路口名称</th>
					<th>东</th>
					<th>南</th>
					<th>西</th>
					<th>北</th>
					<th>信号机</th>
					<th>球机</th>
                    <th>工控机</th>
                    <th>操作</th>
				</tr>
                <?php
                if ($data){
                    foreach ($data as $key=>$value){
                        echo '<tr>';
                        echo '<td>'.$value['id'].'</td>';
                        echo '<td>'.$value['road_name'].'</td>';
                        echo '<td style="text-align: center">'.$value['east_ip'].'</td>';
                        echo '<td style="text-align: center">'.$value['south_ip'].'</td>';
                        echo '<td style="text-align: center">'.$value['west_ip'].'</td>';
                        echo '<td style="text-align: center">'.$value['north_ip'].'</td>';
                        echo '<td style="text-align: center">'.$value['signal_ip'].'</td>';
                        echo '<td style="text-align: center">'.$value['ball_ip'].'</td>';
                        echo '<td style="text-align: center">'.$value['pc_ip'].'</td>';
                        echo "<td style='text-align: center'><a href='?id={$value['id']}'>修改</a> <a href='?id={$value['id']}'>删除</a></td>";
                        echo '</tr>';

                    }
                }


                ?>
			</table>
            <p>
<!--                首页、上一页-->
                <?php if($page>1):?>
                <a href="http://www.p.com:81/main.php?page=1">首页</a>
                <a href="http://www.p.com:81/main.php?page=<?php echo ($page-1)<=0 ? 1:($page-1) ?>">上一页</a>
                <?php endif; ?>
<!--                中间数字页面-->
                <?php for ($i=1;$i<=$pages;$i++): ?>

                        <a class = "<?php if($page==$i)echo 'active'; ?>" href="http://www.p.com:81/main.php?page=<?php echo $i ?>"><?php  echo $i ?></a>

               <?php endfor ?>
<!--                    下一页、尾页-->
                <?php if($page<$pages):?>
                <a href="http://www.p.com:81/main.php?page=<?php echo ($page+1)>$pages? $pages:($page+1) ?>">下一页</a>
                <a href="http://www.p.com:81/main.php?page=<?php echo $pages ?>">尾页</a>
                <?php endif; ?>
            </p>
		</div>
	</body>
</html>

运行实例 »

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

func_paging.php实例

<?php
if (!function_exists(paging)) {
    function paging($pdo, $table, $fields = '*', $where = '', $order, $sort, $page = '1', $page_rownum = '5')
    {


        $offset = ($page - 1) * $page_rownum;
        $limit = "$offset,$page_rownum";
        $sql = 'SELECT ';
        if (is_array($fields)) {
            foreach ($fields as $field) {
                $sql .= $field . ',';
            }
        } else {
            $sql .= $fields;
        }
        $sql = rtrim(trim($sql), ',');
        $sql .= " FROM {$table}";
        if (!empty($where)) {
            $sql .= " WHERE {$where}";
        }
        $sql .= " ORDER BY {$order} {$sort} LIMIT {$limit} ";
        $sql2 = "SELECT count(*) from {$table};";
        $sql = rtrim(trim($sql), ',') . ';';
        $stmt = $pdo->prepare($sql);
        $stmt2 = $pdo ->prepare($sql2);
//        执行
        if ($stmt->execute() && $stmt2->execute()) {
            if ($stmt->rowCount() > 0) {
                $stmt->setFetchMode(PDO::FETCH_ASSOC);
                $data = $stmt->fetchAll();
                $row = $stmt2->fetchAll();
                $row = $row[0]['count(*)'];
                return [$data,$row];
            }
        } else {
            return false;
        }


    }
}
?>

运行实例 »

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


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学