批改状态:未批改
老师批语:
封装其实很简单,就是把你写的代码拿出来,替换掉关键字,传入相应的参数即可使用
下边看看我的代码以及效果

<?php
/**
* User: Z先生
* Date: 2018/5/2
* 数据分页
*/
require "func_select.php";
/**数据库连接**/ -----这个可以用封装到函数
$pdo = new PDO("mysql:dbname=".'php','root','root') or die("连接数据库失败!");
$sum = isset($_GET['p']) ? $_GET['p'] : 1; //获取数据
$func = fenye('php',$sum);
$numb = $func[0];
$rows = $func[1];
/**总页数-----这个可以用封装到函数
$number = $pdo->prepare("SELECT COUNT(*) FROM aaa");
$number->execute();
list($total) = $number->fetch();
$numb = ceil($total / 3);
**/
/**数据查询 -----这个可以用封装到函数
$sql = "SELECT * FROM aaa LIMIT {$offset}, 3";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
**/
/****/
$sum= ($sum > $numb) ? $numb : $sum;
$sum= ($sum == 0) ? 1 : $sum;
//echo 1;
?>
<table border="1" align="center" cellpadding="10" cellspacing="0" width="80%" >
<caption><h2>员工信息表</h2></caption>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>工资</th>
</tr>
<?php foreach ($rows as $row): ?>
<tr align="center">
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['age']; ?></td>
<td><?php echo $row['money']; ?></td>
</tr>
<?php endforeach;?>
</table>
<style>
li{
margin-top: 20px;
margin-right: 5px;
display: inline-block;
list-style: none;
border:1px solid rgba(0, 0, 0, 0.4);
padding: 2px;
}
a{
text-decoration:none ;
}
form{
display: inline;
}
form select{
display: inline;
}
</style>
<ul style="width: 80%; margin: auto; ">
<?php if($sum != 1): ?>
<li><a href="<?php echo $_SERVER['PHP_SELF']."?p=1";?>">首页</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']."?p=".(($sum-1)==0?1 :($sum-1));?>">上一页</a></li>
<?php endif; ?>
<!--实现页面的快速跳转-->
<li><form action="" method="get">
第
<select name="p" id="">
<?php for($i=1; $i<=$numb; $i++): ?>
<!-- 循环输出全部页码,并锁定当前页-->
<option value="<?php echo $i; ?>" <?php if($_GET['p']==$i){echo 'selected';} ?>><?php echo $i; ?></option>
<?php endfor; ?>
</select>
页
<button>跳转</button>
</form></li>
<?php if($sum != $numb): ?>
<li><a href="<?php echo $_SERVER['PHP_SELF']."?p=".(($sum+1) > $numb ? $numb:($sum+1));?>">下一页</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']."?p=$numb";?>">末页</a></li>
<?php endif; ?>
</ul>点击 "运行实例" 按钮查看在线实例
<?php
/**
* User: Z先生
* Date: 2018/5/2
*/
function fenye($php,$sum){
/**数据库连接**/
$pdo = new PDO("mysql:dbname=".'php','root','root') or die("连接数据库失败!");
/**总页数**/
$number = $pdo->prepare("SELECT COUNT(*) FROM aaa");
$number->execute();
list($total) = $number->fetch();
$numb = ceil($total / 3);
/**数据查询**/
$offset =($sum-1)*3;
$sql = "SELECT * FROM aaa LIMIT {$offset}, 3";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
return [0=>$numb,1=>$rows];
}点击 "运行实例" 按钮查看在线实例
代码谢了那么多,其实就是需要多写,熟练,不然真的忘记的很快!!!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号