Blogger Information
Blog 16
fans 0
comment 2
visits 13447
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PDO预处理分页函数库--2018年4月28日0时14分
Alan_繁华
Original
935 people have browsed it

未完待续,只写了函数库,剩下的前端尽快补上


实例

<?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);

运行实例 »

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



Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments