> 백엔드 개발 > PHP 튜토리얼 > php仿ZOL分页类代码_php技巧

php仿ZOL分页类代码_php技巧

WBOY
풀어 주다: 2016-05-17 09:34:59
원래의
5160명이 탐색했습니다.

大小: 3.86 K
尺寸: 289 x 42
浏览: 6 次
点击打开新窗口浏览全图

大小: 3.31 K
尺寸: 215 x 52
浏览: 1 次
点击打开新窗口浏览全图

大小: 5.56 K
尺寸: 500 x 46
浏览: 11 次
点击打开新窗口浏览全图

复制代码 代码如下:


/**
* 功能:分页类
* 作者:phpox
* 时间:Sat Jul 14 18:15:02 CST 2007
*/

defined('PHPOX') or die(header("HTTP/1.1 403 Not Forbidden"));

class page{
public $infocount;
public $pagecount;
public $items;
public $pageno;
public $start;
public $next;
public $prev;
public $maxpages;

public function __construct($infocount,$items,$pageno){
$this->infocount = $infocount;
$this->items = $items;
$this->pageno = $pageno;
$this->pagecount = $this->getpagecount();
$this->justpageno();
$this->start = $this->getstart();
$this->gotoprev();
$this->gotonext();
}

private function justpageno(){
if (emptyempty($this->pageno) || $this->pageno $this->pageno = 1;
}
if ($this->pageno > $this->pagecount){
$this->pageno = $this->pagecount;
}
}

private function gotonext(){
$next = $this->pageno + 1;
if ($next > $this->pagecount){
$this->next = $this->pagecount;
}else {
$this->next = $next;
}

}

private function gotoprev(){
$prev = $this->pageno -1;
if ($prev $this->prev = 1;
}else {
$this->prev = $prev;
}
}

private function getpagecount(){
return ceil($this->infocount / $this->items);
}

private function getstart(){
if ($this->pageno return 0;
}else {
return ($this->pageno - 1) * $this->items;
}
}

/**
* 样式0(php)
*/
public function showpage($ctlname,$actname,$args = null){
if ($args !== null){
if (is_array($args)){
$str = '&'.encode_url_args($args);
}
}
$out = '';
$out .= "每页显示{$this->items}条信息 ";
$out .= "当前页{$this->pageno}/{$this->pagecount} ";
$out .= "共有{$this->infocount}条信息 ";
$out .= "首页 ";
$out .= "上一页 ";
$out .= "下一页 ";
$out .= "尾页 ";
$out .= "跳转到:";
$out .= "\n";
return $out;
}

/**
* 样式1(html)
*/
function htmlshowpage($path,$list,$film){
$out = '';
$out .= "每页显示{$this->items}条信息 ";
$out .= "当前页{$this->pageno}/{$this->pagecount} ";
$out .= "共有{$this->infocount}条信息 ";
$out .= "首页 ";
$out .= "上一页 ";
$out .= "下一页 ";
$out .= "尾页 ";
$out .= "跳转到:";
$out .= "\n";
return $out;
}

/**
* 样式2(discuz)
*/
function multi($mpurl,$page = 10) {

$multipage = '';
$mpurl .= strpos($mpurl, '?') !== false ? '&' : '?';
$realpages = 1;
if($this->infocount > $this->items) {
$offset = 2;

$realpages = @ceil($this->infocount / $this->items);
$pages = $this->maxpages && $this->maxpages maxpages : $realpages;

if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $this->pageno - $offset;
$to = $from + $page - 1;
if($from $to = $this->pageno + 1 - $from;
$from = 1;
if($to - $from $to = $page;
}
} elseif($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
}

$multipage = ($this->pageno - $offset > 1 && $pages > $page ? '1 ...' : '').
($this->pageno > 1 ? '' : '');
for($i = $from; $i $multipage .= $i == $this->pageno ? '
'.$i.'' :''.$i.'';
}

$multipage .= ($this->pageno pageno + 1).'" class="p_redirect">>>' : '').
($to ... '.$realpages.'' : '').
($pages > $page ? '' : '');

$multipage = $multipage ? '' : '';
}
return $multipage;
}

/**
* 样式3(zol)
*/
public function zol($mpurl)
{
$mpurl .= strpos($mpurl, '?') !== false ? '&' : '?';
$code = '
';
$code .= '
'.$this->pageno.'/'.$this->pagecount.'页 每页'.$this->items.''.$this->infocount.'款产品
';
$code .= '';
$code .= '';
if ($this->pageno == $this->prev)
{
$code .= "";
}
else
{
$code .= "";
}
$i = 10 ;
$k = 1;
if ($this->pageno {
$this->pageno = 1;
}
if ($this->pageno > $this->pagecount)
{
$this->pageno = $this->pagecount;
}
$s = $this->pageno-2;
if ($s {
$s = 1;
}
$e = $this->pageno+2;
if ($e {
$e = 5;
}
if ($e > $this->pagecount)
{
$e = $this->pagecount;
}
for ($j=$s;$j{
if ($this->pageno == $j)
{
$code .= '';
}
else
{
$code .= "";
}
}
if ($this->pageno == $this->pagecount)
{
$code .= "";
}
else
{
$code .= "";
}
$code .= '';
$code .= '
'.$j.'$j下一页>>下一页>>
';
$code .= '
';
return $code;
}
}
관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿