Rumah php教程 php手册 PHP实现的一分页工具类代码

PHP实现的一分页工具类代码

Jun 06, 2016 pm 07:43 PM
php kod penomboran capai alat panjang

总的页数是一个长度一定的木块,这把尺子在这个木块上滑动,前提,尺子的两端不能超出木块:D。发现这么一来要做的事情就是去找这个尺子在木块上的起始点,根据用户给传进来的page变量。哈哈,关键代码下面: 代码如下 复制代码 /** * 把中间的看成一个可以

总的页数是一个长度一定的木块,这把尺子在这个木块上滑动,前提,尺子的两端不能超出木块:D。发现这么一来要做的事情就是去找这个尺子在木块上的起始点,根据用户给传进来的page变量。哈哈,关键代码下面:

 代码如下 复制代码
    /**
    * 把中间的看成一个可以滑动的固定长度的尺子
    *
    * 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子,
    * 然后$this->_totalPages就是一个给定长度的木块,尺子在这个
    * 木块上滑动。情况两种:
    * 1. 尺子长度大于木块长度,那么就直接输出所有的页码;
    * 2. 尺子长度小于木块长度,那么就只用找到输出这个尺子长度页
    * 数的起始点——$start, $end;
    *www.111cn.Net

    * @Access protected
    * @Return void
    * @Exception none
    */
    protected function _getShowPageNumber()
    {
    $pageHtml = '';
    //找到$start点
    if($this->_curPage - 2 > 1) {
    $start = $this->_curPage - 2;
    } else {
    $start = 1;
    }
    //找到$end 点
    $end = $start + $this->_totalShowPages;
    if($end >= $this->_totalPages) {
    $end = $this->_totalPages;
    $start = $end - $this->_totalShowPages; //保证页面显示的长度为$this->_totalShowPages
    }
    if($start != 1) {
    $pageHtml .= $this->_getPageHtml(1);
    $preMore = $this->_curPage - $this->_totalShowPages;
    if($preMore     $preMore = 1;
    }
    $pageHtml .= $this->_getMorePageHtml($preMore);
    }
    for($page = $start; $page     $pageHtml .= $this->_getPageHtml($page);
    }
    if($end != $this->_totalPages) {
    $pageHtml .= $this->_getMorePageHtml($end);
    }
    $pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
    
    return $pageHtml;
    }
 

第一种老想法的代码实现:

 代码如下 复制代码
    /**
    * 一步步的来
    *
    * @desc
    *
    * @Access protected
    * @Return void
    * @Exception none
    */
    protected function _getShowPageNumberTwo()
    {
    if($this->_curPage _totalShowPages) {
    for($page = 1; $page _totalShowPages; $page ++) {
    $pageHtml .= $this->_getPageHtml($page);
    }
    $pageHtml .= $this->_getMorePageHtml($this->_totalShowPages);
    $pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
    } else {
    $pageHtml .= $this->_getNormalPageHtml(1);
    if($this->_curPage == $this->_totalShowPages) {
    $pageHtml .= $this->_getMorePageHtml(1);
    } else {
    $pageHtml .= $this->_getMorePageHtml($this->_curPage - $this->_totalShowPages);
    }
    if($this->_curPage + $this->_totalShowPages >= $this->_totalPages) {
    for($page = $this->_totalPages - $this->_totalShowPages; $page _totalPages; $page ++) {
    $pageHtml .= $this->_getPageHtml($page);
    }
    } else {
    $start = $this->_curPage - 2;
    $end = $this->_curPage + $this->_totalShowPages - 2;
    for($page = $start; $page     $pageHtml .= $this->_getPageHtml($page);
    }
    $pageHtml .= $this->_getMorePageHtml($this->_curPage + $this->_totalShowPages - 2);
    $pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
    }
    }
    
    return $pageHtml;
    }
 

示例图:

 

 

类文件下载:HPage.php (等我这个小类库完成了再一起放上 :D)。

更多详细内容请查看:http://www.111cn.net/phper/php/56745.htm

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjelasan terperinci mengenai harga terbitan dan masa terbitan duit syiling tenun Penjelasan terperinci mengenai harga terbitan dan masa terbitan duit syiling tenun Mar 20, 2025 pm 06:21 PM

Penjelasan terperinci mengenai harga terbitan dan masa terbitan duit syiling tenun

Portal pendaftaran laman web rasmi OUYI 2025 Portal pendaftaran laman web rasmi OUYI 2025 Mar 21, 2025 pm 06:00 PM

Portal pendaftaran laman web rasmi OUYI 2025

Portal pendaftaran terkini untuk laman web rasmi OUYI 2025 Portal pendaftaran terkini untuk laman web rasmi OUYI 2025 Mar 21, 2025 pm 05:57 PM

Portal pendaftaran terkini untuk laman web rasmi OUYI 2025

Senarai Kedudukan Terkini 2025 Perisian Aplikasi Dagangan Digital Crypto Digital Senarai Kedudukan Terkini 2025 Perisian Aplikasi Dagangan Digital Crypto Digital Mar 21, 2025 pm 02:51 PM

Senarai Kedudukan Terkini 2025 Perisian Aplikasi Dagangan Digital Crypto Digital

Top 10 Global Security dan Ranking Pertukaran Mata Wang Maya yang mudah digunakan 2025 Top 10 Global Security dan Ranking Pertukaran Mata Wang Maya yang mudah digunakan 2025 Mar 21, 2025 pm 03:09 PM

Top 10 Global Security dan Ranking Pertukaran Mata Wang Maya yang mudah digunakan 2025

Kedudukan aplikasi pertukaran mata wang digital yang selamat dan boleh dipercayai pada tahun 2025 Kedudukan aplikasi pertukaran mata wang digital yang selamat dan boleh dipercayai pada tahun 2025 Mar 21, 2025 pm 03:15 PM

Kedudukan aplikasi pertukaran mata wang digital yang selamat dan boleh dipercayai pada tahun 2025

Top 10 platform perdagangan mata wang digital yang selamat dan boleh dipercayai pada tahun 2025 Top 10 platform perdagangan mata wang digital yang selamat dan boleh dipercayai pada tahun 2025 Mar 21, 2025 pm 03:21 PM

Top 10 platform perdagangan mata wang digital yang selamat dan boleh dipercayai pada tahun 2025

Tutorial muat turun domestik Tutorial muat turun domestik Mar 21, 2025 pm 05:42 PM

Tutorial muat turun domestik

See all articles