博主信息
博文 26
粉丝 0
评论 1
访问量 23012
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP课程 超级简单分页函数实例 0427
Sam徐民强的博客
原创
773人浏览过

  PHP+SQLi 超级简单分页函数实例 不废话看源码

<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8" />
	<title>超级简单的分页函数</title>
	<style>
        table,th,td {
            border: 1px solid black;
        }
        table th {
            background-color: lightskyblue;
        }
        table {
            border-collapse: collapse;
            width: 70%;
            margin: 30px auto;
            text-align: center;
        }
        h3 {
            text-align: center;
        }
        h3 a {
            text-decoration: none;
            margin-left: 10px;
            display: inline-block;
            height: 30px;
            min-width: 30px;
            padding: 0 10px;
            background-color: #e3e3e3;
        }
        h3 a:hover, .active {
            background-color: #000;
            color: white;
        }
        form {
            display: inline;
        }
    </style>
</head>
<body>
<?php
	require 'fun_page.php';
	
	$db=mysqli_connect('127.0.0.1','root','root','test');
	$page=isset($_GET['p']) ? $_GET['p'] : 1;
	$num=5;
	$table='yuangong';
	
	$data = fun_page($db,$table,$page,$num);
	$rows=$data['rows'];
	$pages=$data['pages'];
	
	$page=($page==0) ? 1 :$page;
	$page=($page > $pages) ? $page : $page;
?>
<table>
	<caption><h2>员工信息表</h2></caption>
	<tr>
		<td>ID</td>
		<td>姓名</td>
		<td>电话</td>
		<td>年龄</td>
	</tr>
	<?php foreach($rows as $row): ?>
	<tr>
		<td><?php echo $row['userID']; ?></td>
		<td><?php echo $row['userName']; ?></td>
		<td><?php echo $row['phone']; ?></td>
		<td><?php echo $row['age']; ?></td>
	</tr>
	<?php endforeach; ?>
</table>		
	<h3>
   <!--    当前是第一页的时候,上一页和首页链接应该不显示-->
    <?php if($page != 1): ?>
        <a href="http://xumq.cn/php/0427/page.php?p=1">首页</a>
        <a href="http://xumq.cn/php/0427/page.php?p=<?php echo $page-1; ?>">上一页</a>
    <?php endif; ?>
	
	<form action=""method="post">
		第
		<select name="p" id="p">
			<?php for($i=1; $i<=$pages; $i++): ?>
			<option value="<?php echo $i ;?>" <?php if($_GET['p']==$i){echo 'selected';} ?>><?php echo $i;?> </option>
			<?php endfor; ?>
		</select>
	</form>
	
	<!--当前已经是最后一页的时候,下一页和最后一页也应该不显示-->
    <?php if($page != $pages) :?>
        <a href="http://xumq.cn/php/0427/page.php?p=<?php echo $page+1; ?>">下一页</a>

        <a href="http://xumq.cn/php/0427/page.php?p=<?php echo $pages; ?>">尾页</a>
    <?php endif; ?>
	</h3>
</table>
</body>
</html>

分页函数页面源码fun_page.php

if(!function_exists('fun_page')){
	/*
	 * 分页函数
	 * $db 数据库
	 * $table 表名
	 * $page 当前页 默认第一页
	 * $num 每页显示的记录数 默认5条
	 */
	function fun_page($db,$table,$page=1,$num=5){
		$offset=($page-1)*$num;
		$sql="SELECT * FROM {$table} LIMIT {$offset},{$num};";
		$res=mysqli_query($db,$sql);
		
		$rows=mysqli_fetch_all($res,MYSQLI_ASSOC);
		
		//获取分页:1。获取总记录数,2。再除以每次的显示数量,结果向上取整
		$number =mysqli_query($db,"SELECT COUNT(*) FROM {$table}");
		list($total)=mysqli_fetch_row($number);
		$pages=ceil($total/$num);
		
		//返回总记录数和总页数
		return ['rows'=>$rows,'pages'=>$pages];
	}
}


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学