侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

php中分页及SqlHelper类用法实例

php  /  管理员 发布于 7年前   184

本文实例讲述了php中分页及SqlHelper类用法。分享给大家供大家参考,具体如下:

文档目录结构如下:

SqlHelper.php代码如下:

mysqli=new MySQLi(self::$host,self::$user,self::$pwd,self::$db);    if($this->mysqli->connect_error){      die("连接数据库失败! ".$this->mysql->connect_error);    }    $this->mysqli->query("set names utf8");  }  function execute_dql_all($sql){    //执行查询语句    $arr=array();    $this->result=$this->mysqli->query($sql) or die ($this->mysql->connect_error);    //将数据转存到$arr数组中    while($row=mysqli_fetch_array($this->result,MYSQL_BOTH)){      $arr[]=$row;    }    $this->result->free();    return $arr;  }  function execute_dql_num($sql){    //执行查询语句    $arr=array();    $this->result=$this->mysqli->query($sql) or die ($this->mysql->connect_error);    //将数据转存到$arr数组中    while($row=mysqli_fetch_array($this->result,MYSQLI_NUM)){      $arr[]=$row;    }    $this->result->free();    return $arr;  }  function execute_dql_assoc($sql){    //执行查询语句    $arr=array();    $this->result=$this->mysqli->query($sql) or die ($this->mysql->connect_error);    //将数据转存到$arr数组中    while($row=mysqli_fetch_array($this->result,MYSQLI_ASSOC)){      $arr[]=$row;    }    $this->result->free();    return $arr;  }  //查询某表中的记录数  function execute_dql_counts($table,$id="*"){    $this->sql="select count($id) from $table";    $this->result=$this->mysqli->query($this->sql);    $row=mysqli_fetch_all($this->result);    $this->result->free();    return $row[0][0];  }  function execute_dml($sql){    //执行正删改    $this->result=$this->mysqli->query($sql);    if(!$this->result){      return -1;//执行正删改失败    }else{      if($this->mysqli->affected_rows>0){        return 1;//执行正删改成功,影响行数      }else{        return 0;//执行正删改成功,但没有影响行数      }    }  }}

Paging.php代码如下:

sqlHelper=new SqlHelper();    $this->returnArr=array();  }  /*   * 参数说明   *   * $table 分页时对那个表的数据分页   * $id 辅助查询当前分页的数据表的总记录数   * $pageSize 每页显示多少条信息记录数   * $pagingSize 分页栏每次循环显示出来的个数   * $nowPage 当前是第几页,默认第一页   * $href 分页栏的超链接将要往哪里连接   */  function paging_prev_next($table,$id="*",$pageSize,$pagingSize,$nowPage=1,$href){    $this->counts=$this->sqlHelper->execute_dql_counts($table,$id);    $this->pageCount=ceil($this->counts/$pageSize);    $this->returnArr["count"]=$this->counts;    $this->returnArr["start"]=($nowPage-1)*$pageSize;    $this->returnArr["limit"]=$pageSize;    if($nowPage>$this->pageCount || $nowPage<=0){      return false;    }    $t=(ceil($nowPage/$pagingSize)-1)*$pagingSize+1;    $pre=$nowPage-$pagingSize;    $nex=$nowPage+$pagingSize;    echo "      {$nowPage}/{$this->pageCount}      <";    for($i=$t;$i<$t+$pagingSize;$i++){      if($i*$pageSize>$this->pageCount*$pageSize){        break;      }else{        if($nowPage==$i){          echo "          {$i}";        }else{          echo "          {$i}";        }      }    }    echo "      >";    return $this->returnArr;  }}

paging-list-link.css代码如下:

/** * Created by JetBrains PhpStorm. * User: lee * Date: 13-7-27 * Time: 下午5:56 * To change this template use File | Settings | File Templates. */.paging-list-a{  border:1px solid #b5b5af;  background-color:#efebed;  font-family: 'Meiryo UI';  font-size: 16px;  font-weight: 600;  padding: 0px 8px 0px 8px;  /*cursor: pointer;*/  text-decoration: none;  color: #292927;}.paging-list-a-withBg{  background-color: #1D92E2;  color: white;}

usePaging.php代码如下:

    paging_prev_next("city","ID",$meiyexiansi,$meiyelianjieshu,$nowPage,"usePaging.php");//容错判断if(!$receiveArr){  return;}//查询每页需要显示的数据,大小限制存在 $receiveArr 数组中$sqlHelper=new SqlHelper();$result=$sqlHelper->execute_dql_num("select * from city limit ".$receiveArr['start'].",".$receiveArr['limit']."");echo "
";print_r($result);echo "
";?>

所使用的数据库为 MySQL5.6 所自带的 world 数据库

下面是运行的效果截图:

不过代码还有个 Bug 。就是翻页到最后的时候会出现显示不了,原因在于 Paging.php 文件的 41~43  行左右判断有问题。

错误代码如下:

if($nowPage>$this->pageCount || $nowPage<=0){  return false;}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • C#实现较为实用的SQLhelper
  • 微软官方SqlHelper类 数据库辅助操作类
  • C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法
  • c#中SqlHelper封装SqlDataReader的方法
  • C#实现操作MySql数据层类MysqlHelper实例
  • 四个常用的.NET的SQLHELPER方法实例
  • 自己编写sqlhelper类示例分享
  • c# SQLHelper(for winForm)实现代码
  • asp.net SqlHelper数据访问层的使用
  • C# SqlHelper应用开发学习


  • 上一条:
    PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
    下一条:
    PHP生成图片验证码功能示例
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客