批改状态:合格
老师批语:
未完待续,只写了函数库,剩下的前端尽快补上
<?php
/*
* 分页函数
*/
//1.连接数据库
if(!function_exists('connect')) {
/医院
* 数据库连接
* @param $dbname 数据库名
* @param string $type 数据库类型
* @param string $host 连接主机
* @param string $charset 字符集
* @param string $port 连接端口
* @param $username 数据库用户名
* @param $passwd 数据库密码
* @return PDO
*/
function connect($dbname, $type = 'mysql',$username, $passwd, $host = '127.0.0.1', $charset = 'utf8', $port = '3306')
{
$dsn = $type . ":host=" . $host . ";dbname=" . $dbname . ";charset=" . $charset . ";port=" . $port;
try {
$pdo = new PDO($dsn, $username, $passwd);
} catch (PDOException $e) {
//连接失败,返回错误信息
print "CONNECT ERROR:" . $e->getMessage();
die();
}
return $pdo;
}
}
//2.分页函数
if(!function_exists("pages")){
/*
* @param $pdo 数据库连接信息
* @param $table 分页的数据表
* @param int $page 当前页数
* @param int $num 每页条数
*/
function pages($pdo,$table,$page=1,$num=5){
//limit所在位置
$offset = ($page-1)*$num;
//准备需要分页的SQL语句
$sql = "SELECT * FROM {$table} LIMIT {$offset},{$num};";
//预处理、执行查询、返回查询结果集
$stmt = $pdo->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
//统计表中全部的数据条数,并计算总页数,结果向上取整
//准备需要分页的SQL语句
$sql2 = "SELECT * FROM {$table};";
//预处理、执行查询、返回查询结果集
$stmt = $pdo->prepare($sql2);
$stmt->execute();
$total = $stmt->rowCount();
$pages = ceil($total/$num);
//返回当前分页的数据以及全部页数
return ['rows'=>$rows,'pages'=>$pages];
}
}点击 "运行实例" 按钮查看在线实例
调用方法如下:
<?php
/*
* 实现分页
*/
//引用函数库
require 'lib/func_pages.php';
//调用连接数据库方法
$pdo = connect('php','mysql','root','123456');
$page = $_GET['p'];//获取当前页数
$num = 5; //每页显示数据条数
$table = 'staff'; //要查询的数据表名
//调用分页方法
$data = pages($pdo,'staff',$page,$num);
$rows = $data['rows']; //当前分页数据
$pages = $data['pages']; //总页数
echo '<pre>';
print_r($data);点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号