php分页的实现方法有几种

本篇内容主要讲解“php分页的实现方法有几种”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php分页的实现方法有几种”吧!

创新互联公司是专业的华龙网站建设公司,华龙接单;提供成都做网站、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行华龙网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

1、通过“MySQL_query”等函数将sql查询进行分页。

2、使用ajax的方法实现分页。

3、通过“function viewpage(p){...}”脚本实现分页。

实例

_conn === false || !is_resource($this->_conn)) {
 
       warningLog(__METHOD__ . ': query sql with no connection', true);
 
      return false;
 
      }
 
    $this->_query_id = @mysql_query($query, $this->_conn);
 
    if ($this->_query_id === false) {
 
    $this->_errstr = @mysql_error();
 
    $ret = false;
 
     } else {
 
    $this->_errstr = 'SUCCESS';
 
    $ret = $this->_query_id;
 
      }
 
    }
 
     $msg = ($ret === false) ? 'false' : strval($ret);
 
     debugLog(__METHOD__.": [$msg] returned for sql query [$query]");
 
    return $ret;
 
    }
 
function __construct($sql,$page_size) {
 
      $result = mysql_query($sql);
 
      $datanum = mysql_num_rows($result);
 
      $this->sql=$sql;
 
      $this->datanum=$datanum;
 
      $this->page_size=$page_size;
 
    }
 
 
 
    //当前页数
 
    public function page_id() {
 
      if($_SERVER['QUERY_STRING'] == ""){
 
        return 1;
 
      }elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){
 
        return 1;
 
      }else{
 
        return intval(substr($_SERVER['QUERY_STRING'],8));
 
      }
 
    }
 
 
 
    //剩余url值
 
    public function url() {
 
      if($_SERVER['QUERY_STRING'] == ""){
 
        return "";
 
      }elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){
 
        return "&".$_SERVER['QUERY_STRING'];
 
      }else{
 
        return str_replace("page_id=".$this->page_id(),"",$_SERVER['QUERY_STRING']);
 
      }
 
    }
 
 
 
    //总页数
 
    public function page_num() {
 
      if($this->datanum == 0){
 
        return 1;
 
      }else{
 
        return ceil($this->datanum/$this->page_size);
 
      }
 
    }
 
//数据库查询的偏移量
 
    public function start() {
 
      return ($this->page_id()-1)*$this->page_size;
 
    }
 
 
 
    //数据输出
 
    public function sqlquery() {
 
      return $this->sql." limit ".$this->start().",".$this->page_size;
 
    }
 
 
 
    //获取当前文件名
 
    private function php_self() {
 
      return $_SERVER['PHP_SELF'];
 
    }
 
 
 
    //上一页
 
    private function pre_page() {
 
      if ($this->page_id() == 1) { //页数等于1
 
        return "url().">上一页 ";
 
      }elseif ($this->page_id() != 1) { //页数不等于1
 
        return "上一页 ";
 
      }
 
    }
 
 
 
    //显示分页
 
    private function display_page() {
 
      $display_page = "";
 
      if($this->page_num() <= 10){ //小于10页
 
        for ($i=1;$i<=$this->page_num();$i++) //循环显示出页面
 
          $display_page .= "".$i." ";
 
          return $display_page;
 
      }elseif($this->page_num() > 10){ //大于10页
 
        if($this->page_id() <= 6){
 
          for ($i=1;$i<=10;$i++) //循环显示出页面
 
            $display_page .= "".$i." ";
 
            return $display_page;
 
        }elseif(($this->page_id() > 6) && ($this->page_num()-$this->page_id() >= 4)){
 
          for ($i=$this->page_id()-5;$i<=$this->page_id()+4;$i++) //循环显示出页面
 
            $display_page .= "".$i." ";
 
 return $display_page;
 
        }elseif(($this->page_id() > 6) && ($this->page_num()-$this->page_id() < 4)){
 
          for ($i=$this->page_num()-9;$i<=$this->page_num();$i++) //循环显示出页面
 
            $display_page .= "".$i." ";
 
            return $display_page;
 
        }
 
      }
 
    }
 
 
 
    //下一页
 
    private function next_page() {
 
      if ($this->page_id() < $this->page_num()) { //页数小于总页数
 
        return "下一页 ";
 
      }elseif ($this->page_id() == $this->page_num()) { //页数等于总页数
 
        return "下一页 ";
 
      }
 
    }
 
 
 
    // 设置分页信息
 
    public function set_page_info() {
 
      $page_info = "共".$this->datanum."条 ";
 
      $page_info .= "url().">首页 ";
 
      $page_info .= $this->pre_page();
 
      $page_info .= $this->display_page();
 
      $page_info .= $this->next_page();
 
      $page_info .= "尾页 ";
 
      $page_info .= "第".$this->page_id()."/".$this->page_num()."页";
 
      return $page_info;
 
    }
 
 
 
  }
 
?>

到此,相信大家对“php分页的实现方法有几种”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


当前文章:php分页的实现方法有几种
当前地址:http://myzitong.com/article/pigioo.html