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

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

Jun 06, 2016 pm 07:43 PM
php 암호 쪽수 매기기 성취하다 도구 길이

总的页数是一个长度一定的木块,这把尺子在这个木块上滑动,前提,尺子的两端不能超出木块: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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

발행 가격 및 직기 동전 발행 시간에 대한 자세한 설명 발행 가격 및 직기 동전 발행 시간에 대한 자세한 설명 Mar 20, 2025 pm 06:21 PM

발행 가격 및 직기 동전 발행 시간에 대한 자세한 설명

OUYI 공식 웹 사이트 등록 포털 2025 OUYI 공식 웹 사이트 등록 포털 2025 Mar 21, 2025 pm 06:00 PM

OUYI 공식 웹 사이트 등록 포털 2025

OUYI 공식 웹 사이트 2025의 최신 등록 포털 OUYI 공식 웹 사이트 2025의 최신 등록 포털 Mar 21, 2025 pm 05:57 PM

OUYI 공식 웹 사이트 2025의 최신 등록 포털

2025 Crypto Digital Currency Trading App 소프트웨어의 최신 순위 목록 2025 Crypto Digital Currency Trading App 소프트웨어의 최신 순위 목록 Mar 21, 2025 pm 02:51 PM

2025 Crypto Digital Currency Trading App 소프트웨어의 최신 순위 목록

상위 10 개 글로벌 보안 및 사용하기 쉬운 가상 환전 순위 2025 상위 10 개 글로벌 보안 및 사용하기 쉬운 가상 환전 순위 2025 Mar 21, 2025 pm 03:09 PM

상위 10 개 글로벌 보안 및 사용하기 쉬운 가상 환전 순위 2025

2025 년 안전하고 안정적인 디지털 환전 앱 순위 2025 년 안전하고 안정적인 디지털 환전 앱 순위 Mar 21, 2025 pm 03:15 PM

2025 년 안전하고 안정적인 디지털 환전 앱 순위

2025 년에 10 대 안전하고 안정적인 디지털 통화 거래 플랫폼 2025 년에 10 대 안전하고 안정적인 디지털 통화 거래 플랫폼 Mar 21, 2025 pm 03:21 PM

2025 년에 10 대 안전하고 안정적인 디지털 통화 거래 플랫폼

Ouyi Exchange App 국내 다운로드 자습서 Ouyi Exchange App 국내 다운로드 자습서 Mar 21, 2025 pm 05:42 PM

Ouyi Exchange App 국내 다운로드 자습서

See all articles