博主信息
博文 16
粉丝 0
评论 2
访问量 16107
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PDO预处理分页函数库--2018年4月28日0时14分
Alan_繁华
原创
1093人浏览过

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


实例

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

运行实例 »

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



批改状态:合格

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