未完待续,只写了函数库,剩下的前端尽快补上
实例
<?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);
运行实例 »
点击 "运行实例" 按钮查看在线实例