<?php
//namespace component;
/**
* 2016-3-27
* @author ankang
*/
class page {
private $showpage;
private $countpage;
private $floorp;
private $pageurl;
private $pageclass;
private $curclass;
/**
* @author ankang
* @param number $countnum 数据总数
* @param string $pageurl 跳转链接
* @param string $pageclass 标签 总体样式
* @param string $pageurl 当前页样式
* @param number $pagesize 每页显示的数据条数
* @param number $showpage 每次显示的页数
*/
public function __construct($countnum, $pageurl = null, $pageclass = null,$curclass = null, $pagesize = 20, $showpage = 5) {
$this->showpage = $showpage;
$this->countpage = ceil ( $countnum / $pagesize );
$this->floorp = floor ( $showpage / 2 ); // 偏移量
$this->pageclass = is_null ( $pageclass ) ? '' : $pageclass;
$this->curclass = is_null ( $curclass ) ? '' : $curclass;
// $serverurl = ( preg_match('/\?/i', $_server['request_uri']))?preg_replace('/\&p\=[0-9]+/i', "", $_server['request_uri']) : $_server['request_uri']."?";
// if( substr($buturl,0,2)=='//' ){
// $serverurl = substr($serverurl,1);
// }
// $url = preg_replace('/p=[\d]*/i', '', $serverurl);
$url = '';
//推荐自己传url,不传也可以打开上面的代码自动获取
$this->pageurl = is_null ( $pageurl ) ? $url : $pageurl;
}
/**
*
* @param number $page
* @param string $showtopage
* 首页,上下页,尾页
* @param string $html 标签元素,li,p
* @return string
*/
public function getpage($page = 1, $showtopage = true, $html = null) {
$startpage = ($page - $this->floorp); // 开始页码
$endpage = ($page + $this->floorp); // 结束页码
if ($this->countpage < $this->showpage) {
$startpage = 1;
$endpage = $this->countpage;
}
if ($startpage < 1) {
$startpage = 1;
$endpage = $this->showpage;
}
if ($endpage > $this->countpage) {
$startpage = $this->countpage - $this->showpage + 1;
$endpage = $this->countpage;
}
$pagehtml = '';
if (! is_null ( $html )) {
if ($html == 'li') {
$shtml = '';
$ehtml = '';
} else {
$shtml = '';
$ehtml = '';
}
}
if (true == $showtopage) {
$pagehtml .= "$shtmlpageurl}p=1.html" _href="{$this->pageurl}p=1.html">« 首页$ehtml";
$prveurl = $this->getprve($page);
$pagehtml .= "$shtml« 上一页$ehtml";
}
for($i = $startpage; $i getnext($page);
$pagehtml .= "$shtml下一页 »$ehtml";
$pagehtml .= "$shtmlpageurl}p={$this->countpage}.html" _href="{$this->pageurl}p={$this->countpage}.html">尾页 »$ehtml";
}
return $pagehtml;
}
public function getprve($page){
if ($page != 1) {
$prve = $page - 1;
$prveurl = "{$this->pageurl}p={$prve}";
} else {
$prveurl = "{$this->pageurl}p=1";
}
return $prveurl;
}
public function getnext($page){
if ($page != $this->countpage) {
$next = $page + 1;
$nexturl = "{$this->pageurl}p={$next}";
} else {
$nexturl = "{$this->pageurl}p={$this->countpage}";
}
return $nexturl;
}
}
2. [图片] page.png