php 自定义样式,PHP分页类,支持自定义样式,中间5页

//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‘>« 首页$Ehtml";

$PrveUrl = $this->getPrve($Page);

$PageHtml .= "$Shtml« 上一页$Ehtml";

}

for($i = $StartPage; $i <= $EndPage; $i ++) {

if ($Page == $i) {

$PageHtml .= "$ShtmlPageUrl}p={$i}‘ class=‘{$this->CurClass}‘>{$i}$Ehtml";

} else {

$PageHtml .= "$ShtmlPageUrl}p={$i}‘ class=‘{$this->PageClass}‘>{$i}$Ehtml";

}

}

if (true == $ShowToPage) {

$NextUrl = $this->getNext($Page);

$PageHtml .= "$Shtml下一页 »$Ehtml";

$PageHtml .= "$ShtmlPageUrl}p={$this->CountPage}‘ >尾页 »$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;

}

}

78fb6e041c54bc08a29fc1555fff733a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值