• PHP分页初探 一个最简单的PHP分页代码实现


    PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项。

    要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7。PHP分页代码核心就是围绕这条语句展开的,SQL语句说明:查询goods数据表从第2条数据开始取出7条数据。在分页代码中,7表示每页显示多少条内容,2通过公式计算表示翻页数,通过传入不同参数替换“2”的值,即可筛选出不同的数据。

    index.php:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    include 'conn.php';  //引入数据库操作类
     
    $conn=new conn();  //实例化数据库操作类
     
    $total=$conn->getOne('select count(*) as total from goods');
    $total=$total['total']; //goods表数据总数据条数
    $num=6; //每页显示条数
    $totalpage=ceil($total/$num);   //计算页数
    if(isset($_GET['page']) && $_GET['page']<=$totalpage){//这里做了一个判断,若get到数据并且该数据小于总页数情况下才付给当前页参数,否则跳转到第一页
        $thispage=$_GET['page'];
    }else{
        $thispage=1;
    }
    <br>//注意下面sql语句中红色部分,通过计算来确定从第几条数据开始取出,当前页数减去1后再乘以每页显示数据条数
    $sql='select goods_id,goods_name,shop_price from goods order by goods_id limit '.<span style="color: #ff0000;">($thispage-1)*$num</span>.','.$num.'';
     
    $data=$conn->getAll($sql);
     
    foreach($data as $k=>$v){
        echo '<li>'.$v['goods_id'].'、'.$v['goods_name'].'---¥'.$v['shop_price'].'</li>';   
    }
    <br>//显示分页数字列表
    for($i=1;$i<=$totalpage;$i++){
        echo '<a href="?page='.$i.'">'.$i.'</a> '
         
    }

    上述代码实现了一个最简单的PHP分页效果:

    仅实现点击翻页数字显示不同的翻页数据,可以在此基础上进一步完善,只要基础原理理解后,后续工作就比较容易开发了。

     conn.php代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    /*
    *连接数据库 进行相关查询操作
    */
     
    class conn{
     
        public function __construct(){
            include_once('config.php');
            try{   
                $this->pdo = new PDO('mysql:host=localhost;dbname=test''root''123456');
                $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $this->pdo->exec('set names utf8');
                 
     
            }catch(PDOException $e){
                echo '数据库连接失败:'.$e->getMessage();
                exit();
            }
        }
         
        //获取一行数据
        public function getOne($sql){
            $rs=$this->pdo->query($sql)->fetch(PDO::FETCH_ASSOC);
             
            return $rs;
        }
         
        //获取多行数据结果
        public function getAll($sql){
            $rs=$this->pdo->query($sql)->fetchall(PDO::FETCH_ASSOC);
             
            return $rs;
     
        }
    }

      conn.php功能是完成数据库连接,并实现取出数据操作方法,这里我使用的是pdo,这里可以根据大家习惯来组织代码。

    config.php:

    1
    2
    3
    4
    5
    6
    7
    8
    /*
    *配置数据库信息
    */
     
    $cfg_dbhost='localhost';
    $cfg_dbname='test';
    $cfg_dbuser='root';
    $cfg_dbpw='123456';

      

    该例子仅是为了说明基础的分页原理,距真正使用还有很多修改地方。

  • 相关阅读:
    第八届极客大挑战 Web-php绕过
    第八届极客大挑战 Web-故道白云&Clound的错误
    IMDB-TOP_250-爬虫
    任意角度图片旋转
    图片处理代码
    C#获取获取北京时间多种方法
    STL vector用法介绍
    C++ 用libcurl库进行http通讯网络编程
    CString 使用方法
    A星算法(游戏寻路算法)的C++实现(转)
  • 原文地址:https://www.cnblogs.com/pcyy/p/5618196.html
Copyright © 2020-2023  润新知