php分页 源代码与使用方法

网友分享于:2018-07-06 13:27 发表在 PHP

对于学习PHP,分页这是一个重要的知识点,我们需要多了解这些知识,才能够加深我们对PHP的认识。而很多人对于分页的方法和代码不知道怎么写。接下来,就让如果零 if0.CN的小编来讲解一下php分页。

图片 1.png

  php分页 源代码与使用方法

  Mysql分页查询Limit关键字 sql语句

  select * from table_name limit a,b;

  limit a,b 代表从第a条数据开始,查询总共b条的数据,用limit就可以轻松实现页面分页,下面是PHP分页类

  使用方法

  实例化Page(可以传入两个参数pageSizemaxSize)

  调用pageCaclt方法,传入当前页,返回从数据库查询的数组

  调用gainLi方法,传入当前页,返回页码显示条,可直接在html中输出该变量。

  php分页源代码

  

  class Page{

  public $mysqli;

  public $totalCount; //数据总条数

  public $pageSize; //每页显示条数

  public $firstPage; //第一页

  public $endPage; //最后一页

  public $maxSize; //最大显示多少页(大于该数用...代替)

  public $currentPage; //当前页

  public $pageNum;

  public function __construct($pageSize=15,$maxSize=7){

  $this->pageSize=$pageSize;

  $this->maxSize=$maxSize;

  $this->mysqli=new mysqli('localhost','root','tiger','capture');

  if($this->mysqli->connect_errno){

  echo $this->mysqli->connect_error;

  exit;

  }

  $this->totalCount=$this->getAllCount();

  $this->pageNum=ceil($this->totalCount/$pageSize);

  }

  public function getAllCount(){

  $query="select count(*) from prevideo";

  $result=$this->mysqli->query($query);

  if($result->num_rows>0){

  $data=$result->fetch_array();

  $result->close();

  return $data[0];

  }

  return 0;

  }

图片 2.png

  php分页 源代码与使用方法

  public function pageCaclt($currentPage){

  if($currentPage$this->pageNum)

  $currentPage=1;

  $start=($currentPage-1)*$this->pageSize;

  $query="select * from prevideo limit {$start},{$this->pageSize}";

  $result=$this->mysqli->query($query);

  $data=array();

  while($d=$result->fetch_array()){

  $data[]=$d;

  }

  return $data;

  }

  public function gainLi($currentPage){

  if($currentPage$this->pageNum)

  $currentPage=1;

  $pageLi="";

  if($this->pageNummaxSize){

  $pageLi.="

{$this->pageNum} ";

 

  for($i=1;$ipageNum;$i++){

  if($i==$currentPage)

  $pageLi.="$i   ";

  else

  $pageLi.="$i   ";

  }

  $pageLi.="

";

 

  }

  else{

  $pre=$currentPage>1?$currentPage-1:1;

  $next=$currentPagepageNum?$currentPage+1:$this->pageNum;

  $divide=($this->maxSize-1)/2;

  $left=$currentPage-$divide;

  if($left

  $left=1;

  if($left+$this->maxSize>=$this->pageNum)

  $left=$this->pageNum-$this->maxSize+1;

  $right=$left+$this->maxSize-1;

  $pageLi.="

{$this->pageNum} ";

 

  if($currentPage==1){

  $pageLi.="首页  ";

  $pageLi.="上一页  ";

  }

  else{

  $pageLi.="首页  ";

  $pageLi.="上一页  ";

  }

  for($i=$left;$i

  if($i==$currentPage)

  $pageLi.="$i  ";

  else

  $pageLi.="$i  ";

  }

  if($currentPage==$this->pageNum){

  $pageLi.="下一页  ";

  $pageLi.="尾页";

  }

  else{

  $pageLi.="下一页  ";

  $pageLi.="尾页";

  }

  $pageLi.="

";

 

  }

  return $pageLi;

  }

  }

  以上就是关于php分页的内容,看完后你有什么疑问吗?如果有的话就请点击收藏我们的网站,如果零 if0.CN一定会耐心的解答你的疑问。



推荐分类: Web开发 Web前端 HTML/CSS PHP ASP JavaScript jQuery HTML5 vbScript Ajax 网页设计 跨浏览器开发 高性能WEB开发 Web Service XML/SOAP CGI
推荐标签: php websocket input navicat finereport
相关文章
最新发表
热门推荐