php加mysql分页_php+mysql 分页添加

展开全部

/**

* @todo 分页

* @param $count 总条数

* @param $pagesize 每页显示条数

* @param $nowpagenum 当前页码

* @return String HTML

* @example

* $count = 45; //数据库查询到的数据总数

$pagesize = 10; //每页展示62616964757a686964616fe58685e5aeb931333335326231的条数

$nowpagenum = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1 ; //获取当前的页码,默认没有的时候为1

$page =  $this->PageNum($count, $pagesize ,$nowpagenum);

*

*/

public function PageNum($count , $pagesize , $nowpagenum){

//计算页码

$pagenum = ceil(($count/$pagesize));

/***设定当前页在第一页当时无GET页码时默认为1***/

$nowpagenum = empty($nowpagenum) ? 1 : $nowpagenum;

/*****解析URL******/

$url = $_SERVER['REQUEST_URI'];

$urlArr = explode('?', $url);

if(count($urlArr)==1){

$newurl = $url.'?page=';

}else{

$params = array();

$newurl = '';

$newParams = array();

$paramsArr = explode('&', $urlArr[1]);

if(count($paramsArr)==1){

$getParams = explode('=', $paramsArr[0]);

$params[$getParams[0]] = $getParams[1];

$newurl = $urlArr[0].'?page=';

}else{

for($j=0;$j

$getParams = explode('=', $paramsArr[$j]);

$params[$getParams[0]] = $getParams[1];

}

if(isset($params['page'])){

unset($params['page']);

foreach($params as $key=>$value){

$newParams[] = $key.'='.$value;

}

$newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';

}else{

foreach($params as $key=>$value){

$newParams[] = $key.'='.$value;

}

$newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';

}

}

}

/****拼装页码显示HTML代码****/

$html='';

if(isset($count) && isset($pagesize)){

//one page

if($count <= $pagesize){

$html = '上一页1下一页';

//no record

}else if($count == 0){

$html = '暂未记录!';

//大于一页小于等于6页

}else if($count > $pagesize && $pagenum <= 6){

if($nowpagenum==1){

$html .= '上一页';

}else{

$html .= '上一页';

}

for($i=1;$i<=$pagenum;$i++){

if($i==$nowpagenum){

$html .= ''.$i.'';

}else{

$html .= ''.$i.'';

}

}

if($nowpagenum==$pagenum){

$html .= '下一页';

}else{

$html .= '下一页';

}

}else{

if($nowpagenum==1){

$html .= '上一页';

}else{

$html .= '上一页';

}

if(($pagenum-$nowpagenum)>5){

if($nowpagenum<=3){

for($i=1;$i<=3;$i++){

if($i==$nowpagenum){

$html .= ''.$i.'';

}else{

$html .= ''.$i.'';

}

}

}else{

for($i=$nowpagenum-2;$i<=$nowpagenum;$i++){

if($i==$nowpagenum){

$html .= ''.$i.'';

}else{

$html .= ''.$i.'';

}

}

}

$html .= '...';

for($j=$pagenum-2;$j<=$pagenum;$j++){

if($j==$nowpagenum){

$html .= ''.$j.'';

}else{

$html .= ''.$j.'';

}

}

}else{

for($i=$pagenum-5;$i<=$pagenum;$i++){

if($i==$nowpagenum){

$html .= ''.$i.'';

}else{

$html .= ''.$i.'';

}

}

}

if($nowpagenum==$pagenum){

$html .= '下一页';

}else{

$html .= '下一页';

}

}

}

return $html;

}

这个是一个简易的分页方法,参考后更改下你的limit后面的属性值就可以达到分页效果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值