php仿ZOL分页类代码
发布时间:2020-12-13 05:28:05 所属栏目:PHP教程 来源:网络整理
导读:代码如下: * 功能:分页类 * 作者: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; publ
代码如下: * 功能:分页类 * 作者: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 < 1){ $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 < 1){ $this->prev = 1; }else { $this->prev = $prev; } } private function getpagecount(){ return ceil($this->infocount / $this->items); } private function getstart(){ if ($this->pageno <= 1){ 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 .= "当前页 pageno}/{$this->pagecount}";$out .= "共有{$this->infocount}条信息 "; $out .= "首页 "; $out .= "prev}$str'>上一页 "; $out .= "next}$str'>下一页 "; $out .= "pagecount}$str'>尾页 "; $out .= "跳转到:"; $out .= "n"; return $out; } /** * 样式1(html) */ function htmlshowpage($path,$list,$film){ $out = ''; $out .= "每页显示{$this->items}条信息 "; $out .= "当前页 pageno}/{$this->pagecount}";$out .= "共有{$this->infocount}条信息 "; $out .= "首页 "; $out .= "prev}.html'>上一页 "; $out .= "next}.html'>下一页 "; $out .= "pagecount}.html'>尾页 "; $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 < $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 ? '' : ''). ($this->pageno > 1 ? 'pageno - 1).'" class="p_redirect"><<' : ''); for($i = $from; $i <= $to; $i++) { $multipage .= $i == $this->pageno ? ''.$i.'' :''; } $multipage .= ($this->pageno < $pages ? 'pageno + 1).'" class="p_redirect">>>' : ''). ($to < $pages ? '' : ''). ($pages > $page ? '' : ''); $multipage = $multipage ? ' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |