/**
* 機能: ページネーション クラス
* 著者: phpox
* 時刻: Sat Jul 14 18:15:02 CST 2007
*/
define('PHPOX') または die(header("HTTP/1.1 403 Not Forbidden"));
クラス ページ{
public $infocount;
公開 $pagecount;
公開 $items;
公開 $pageno;
パブリック $start;
パブリック$next;
公開 $prev;
公開 $maxpages;
パブリック関数 __construct($infocount,$items,$pageno){
$this->infocount = $infocount;
$this->items = $items;
$this->ページノ = $ページノ;
$this->pagecount = $this->getpagecount();
$this->justpageno();
$this->start = $this->getstart();
$this->gotorev();
$this->gotonext();
}
プライベート関数 justpageno(){
if (emptyempty($this->pageno) || $this->pageno $this->pageno = 1;
}
if ($this->pageno > $this->pagecount){
$this->pageno = $this->pagecount;
}
}
プライベート関数 gotonext(){
$next = $this->pageno + 1;
if ($next > $this->pagecount){
$this->next = $this->pagecount;
}else {
$this->next = $next;
}
}
プライベート関数 gotoprev(){
$prev = $this->pageno -1;
if ($prev $this->prev = 1;
}else {
$this->prev = $prev;
}
}
プライベート関数 getpagecount(){
return ceil($this->infocount / $this->items);
}
プライベート関数 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->ページ番号}/{$this->ページ数} ";
$out .= "共有{$this->infocount}条情報 ";
$out .= "
首页 ";
$out .= "
上一页 ";
$out .= "
下一页 ";
$out .= "
尾页 ";
$out .= "跳转到:";
$out .= "
n";
$out を返す;
}
/**
* スタイル 1(html)
*/
function htmlshowpage($path,$list,$film){
$out = '';
$out .= "每页显示{$this->items}条情報 ";
$out .= "現在の页
{$this->ページ番号}/{$this->ページ数} ";
$out .= "共有{$this->infocount}条情報 ";
$out .= "
首页 ";
$out .= "
上一页 ";
$out .= "
下一页 ";
$out .= "
尾页 ";
$out .= "跳转到:";
$out .= "
n";
$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 < $realpages ? $this->maxpages : $realpages;
if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $this->pageno - $offset;
$to = $from + $page - 1;
if($from < 1) {
$to = $this->pageno + 1 - $from;
$from = 1;
if($to - $from < $page) {
$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 <= $to; $i++) {
$multipage .= $i == $this->pageno ? '
'.$i.'' :'
'.$i.'';
}
$multipage .= ($this->pageno < $pages ? '
>>' : '').
($to < $pages ? '
... '.$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<=$e;$j++)
{
if ($this->pageno == $j)
{
$code .= ''.$j.' | ';
}
else
{
$code .= "$j td>"; } } if ($this->pageno == $this->pagecount) { $code .= " | 下一页>> | ";
}
else
{
$code .= "下一页>> | ";
}
$code .= '
';
$code .= '
';
$code .= '
';
$code を返します;
}
}
http://www.bkjia.com/PHPjc/319499.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/319499.html技術記事复制代码 代码如下: ?php /*** 機能: ページネーション クラス * 著者: phpox * 時刻: Sat Jul 14 18:15:02 CST 2007*/ 定義('PHPOX') または die(header("HTTP/1.1 403 Not Forbidden"));クラス...