登录  /  注册
首页 > php教程 > PHP源码 > 正文
php 简单简洁分页类
php中文网
发布: 2016-06-08 17:28:49
原创
701人浏览过

php 简单简洁分页类
/**
*-------------------------翻页类----------------------*
*/
class PageClass
{
private $myde_count; //总记录数
var $myde_size; //每页记录数
private $myde_page; //当前页
private $myde_page_count; //总页数
private $page_url; //页面url
private $page_i; //起始页
private $page_ub; //结束页
var $page_limit;

function __construct($myde_count=0, $myde_size=1, $myde_page=1,$page_url)//构造函数
{

$this -> myde_count = $this -> numeric($myde_count);
$this -> myde_size = $this -> numeric($myde_size);
$this -> myde_page = $this -> numeric($myde_page);
$this -> page_limit = ($this -> myde_page * $this -> myde_size) - $this -> myde_size;

$this -> page_url = $page_url;

if($this -> myde_page < 1) $this -> myde_page =1;

if($this -> myde_count < 0) $this -> myde_page =0;

$this -> myde_page_count = ceil($this -> myde_count/$this -> myde_size);

if($this -> myde_page_count < 1) $this -> myde_page_count = 1;

if($this -> myde_page > $this -> myde_page_count) $this -> myde_page = $this -> myde_page_count;

$this -> page_i = $this -> myde_page - 2;

$this -> page_ub = $this -> myde_page + 2;

if($this -> page_i < 1){

$this -> page_ub = $this -> page_ub + (1 - $this -> page_i);

$this -> page_i = 1;
}

if($this -> page_ub > $this -> myde_page_count){

$this -> page_i = $this -> page_i - ($this -> page_ub - $this -> myde_page_count);

$this -> page_ub = $this -> myde_page_count;

if($this -> page_i < 1) $this -> page_i = 1;
}
}


private function numeric($id) //判断是否为数字
{
if (strlen($id)){
if (!ereg("^[0-9]+$",$id)){
$id = 1;
}else{
$id = substr($id,0,11);
}
}else{
$id = 1;
}
return $id;
}

private function page_replace($page) //地址替换
{
return str_replace("{page}", $page, $this -> page_url);
}


private function myde_home() //首页
{
if($this -> myde_page != 1){

return "

  • page_replace(1)."" title="首页" >首页
  • n";

    }else{

    return "
  • 首页
  • n";

    }
    }

    private function myde_prev() //上一页
    {
    if($this -> myde_page != 1){

    return "
  • page_replace($this->myde_page-1) ."" title="上一页" >上一页
  • n";

    }else{

    return "
  • 上一页
  • n";

    }
    }

    private function myde_next() //下一页
    {
    if($this -> myde_page != $this -> myde_page_count){

    return "
  • page_replace($this->myde_page+1) ."" title="下一页" >下一页
  • n";

    }else{

    return "
  • 下一页
  • n";

    }
    }

    private function myde_last() //尾页
    {
    if($this -> myde_page != $this -> myde_page_count){

    return "
  • page_replace($this -> myde_page_count)."" title="尾页" >尾页
  • n";

    }else{

    return "
  • 尾页
  • n";

    }
    }

    function myde_write($id='page') //输出
    {
    $str = "
    n
      n ";

      $str .= "
    • 总记录:".$this -> myde_count."
    • n";

      $str .= "
    • ".$this -> myde_page."/".$this -> myde_page_count."
    • n";

      $str .= $this -> myde_home();

      $str .= $this -> myde_prev();

      for($page_for_i = $this -> page_i;$page_for_i <= $this -> page_ub; $page_for_i++){

      if($this -> myde_page == $page_for_i){

      $str .= "
    • ".$page_for_i."
    • n";

      }

      else{

      $str .= "
    • page_replace($page_for_i)."" title="第".$page_for_i."页">";

      $str .= $page_for_i . "
    • n";

      }
      }
      $str .= $this -> myde_next();

      $str .= $this -> myde_last();

      $str .= "
    • myde_page.""";

      $str .= " onkeydown="javascript: if(event.keyCode==13){ location='";

      $str .= $this -> page_replace("'+this.value+'")."';return false;}"";

      $str .= " title="输入您想要到达的页码" />
    • n";

      $str .= "
    n
    n
    ";

    return $str;
    }
    }
    /*-------------------------实例--------------------------------*
    $page = new PageClass(1000,5,$_GET['page'],'?page={page}');//用于动态
    $page = new PageClass(1000,5,$_GET['page'],'list-{page}.html');//用于静态或者伪静态
    $page -> myde_write();//显示
    */
    ?>

    相关标签:
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    热门推荐
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习
    PHP中文网抖音号
    发现有趣的

    Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

     | 本站CDN由 数掘科技 提供

    登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学