Home > Backend Development > PHP Tutorial > PHP pagination class code_PHP tutorial

PHP pagination class code_PHP tutorial

WBOY
Release: 2016-07-13 09:51:49
Original
954 people have browsed it

PHP paging code

Today I would like to share with you a piece of code. This is a PHP paging code:

//Create paging class
class Page {
private $_all_num; private $_page_size; //Display several pieces of data per page
private $_page; private $_all_page; private $_url; private $_limit; private $_sign;  
//Interceptor
Public function __get($_key) {
          return $this->$_key;
}
 
Public function __construct($_all_num,$_page_size) {
         $this->_all_num = $_all_num;
         $this->_page_size = $_page_size;
         $this->_all_page = ceil($this->_all_num / $this->_page_size);
         $this->_page = $this->setPage();
          $this->_url = $this->setUrl();
         $this->_limit = 'LIMIT '.($this->_page * $this->_page_size - $this->_page_size).','.$this->_page_size;
}
 
//Get the current page number
Private function setPage() {
If (!empty($_GET['page']) && $_GET['page'] > 0) {
If ($_GET['page'] <= $this->_all_page) {
                         return ceil($_GET['page']);
                } else {
                          return $this->_all_page;
          }
          } else {
                  return 1;
        }
}
 
//Get address
Private function setUrl() {
         $_url = $_SERVER['REQUEST_URI'];                                                       if (!empty($_url)) {
            $_par_url = parse_url($_url);
            if (isset($_par_url['query'])) {
                parse_str($_par_url['query'],$_arr);
                if (isset($_arr['page'])) {
                    unset($_arr['page']);
                }
                if (!empty($_arr)) {
                    $_http = http_build_query($_arr);
                    $_end_url = $_par_url['path'] . '?' . $_http;
                    $this->_sign = '&';
                } else {
                    $_end_url = $_par_url['path'];
                    $this->_sign = '?';
                }
            } else {
                $_end_url = $_par_url['path'];
                $this->_sign = '?';
            }
        }
        return $_end_url;
    }
    
    //显示分页
    public function numPage() {
        $_num = '';
        //前面
        for ($i=1; $i<$this->_page; $i ) {
            if ($i<1) continue;
            $_num .= "".$i."";
        }
        //自己
        $_num .= "".$this->_page."";
        //后面
        for ($i=$this->_page 1; $i<=$this->_all_page; $i ) {
            if ($i>$this->_all_page) continue;
            $_num .= "".$i."";
        }
        return $_num;
    }
}
?>

大家可以将上面一段代码复制到文本编辑器中这样看的会舒服一点!下面讲一下具体步骤:

1. Create a paging class: class Page {};
2. Get the number of data that needs to be displayed and record it in the Page class. The number of data here is obtained through data. I won’t go into details! Then set the number of data displayed on each page!
3. Get the current page address!
The general meaning of this code is that when your address is followed by ?, then use &page= when clicking on paging; when there is no suffix or only ?page= after your address, then when clicking on paging, use ?page=

4. Get the current page number
The page number here must be an integer, so you can use the ceil function, and pay attention to the user's malicious modification of the address!

4. Make paging elements. Here we just make a simple digital paging. For more complex ones with better user experience, you can expand by yourself!

5. Set the number of queries in the database, which is LIMIT; for example: For example, I now have 10 pieces of data, and set each page to display 5 pieces of data, then
When the user clicks on the first page, LIMIT 0,5
When the user clicks on the second page, LIMIT 5,5
6. Calling of this code:
$_page = new Page(10,5);
$_page->page();
The 10 above is the total number of data, and 5 is the number of data you want to display on each page. $_page->page() is the paging of the page. Just echo it out. Note that you have to add it to the Page class. The $_limit call is put into the database query statement, so that basic php paging comes out!

This article is original to Wang Yelou’s personal blog. If you want to reprint, please indicate the source: Wang Yelou’s personal blog www.ly89.cn

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1011352.htmlTechArticlePHP paging class code Today I present a piece of code to you, this is a piece of php paging code: //Create a paging class class Page { private $_all_num; //The total number of data private $_page_size; //Each page...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template