mysql limit 分页php_php+mysql 公共分页类 思想是通过mysql 的 LIMIT 来实现

$pagesize = 5; //每页条数

$page = ($page < 1) ? 1 : $page;

$start = ($page - 1) * $pagesize; //起始条数

//信息列表

$menulist = $this->CONN->getList("tb_admin_manager", "*", $where,'ORDER BY Fid', "LIMIT $start,$pagesize");

分页类:

class Pager2 {

/**

* 分页时获取参数

* @param type $page

* @return string

*/

function urlAnalyze($page) {

$url = $_SERVER['REQUEST_URI'];

$parse_url = parse_url($url);

$url_query = isset($parse_url['query']) ? $parse_url['query'] : '';

if ($url_query) {

if (strpos($url_query, 'page=') === false) {

$url .= '&page=PAGE';

} else {

$url = str_replace('page=' . trim($page), 'page=PAGE', $url);

}

} else {

$url .= '?page=PAGE';

}

return $url;

}

/**

* 分页函数

* @param type $total 总记录数

* @param type $page  当前页

* @param type $pagesize 每页条数

* @param type $showlvtao 中间页面个数 为奇数

* @return type

*/

function getPager2($total, $page, $pagesize, $showlvtao) {

$pageData = array();

//分页总数 总记录数/每页条数

$pageData['pageCount'] = ceil($total / $pagesize);

$pageData['pageSize'] = $pagesize;

//$page=min($pageData['pageCount'],$page);

if (0 < $page - 1) {

$pageData['prevPage'] = $page - 1;

} else {

$pageData['prevPage'] = 1;

}

if ($pageData['pageCount'] >= $page + 1) {

$pageData['nextPage'] = $page + 1;

} else {

$pageData['nextPage'] = $page;

}

$pageData['lastPage'] = $pageData['pageCount'];

if ($page > $pageData['pageCount']) {

$page = $pageData['pageCount'];

}

$nextPageUrl = $this->urlAnalyze($page);

$html = '

';

$html .= '总记录:' . $total . '';

$html .= '当前页:' . $page . '/共' . $pageData['pageCount'] . '页';

$html .= '首页';

$html .= '上一页';

$o = $showlvtao; //中间页码表总长度,为奇数

$u = ceil($o / 2); //根据$o计算单侧页码宽度$u

$f = $page - $u; //根据当前页$currentPage和单侧宽度$u计算出第一页的起始数字

if ($f < 0) {

$f = 0;

}//当第一页小于0时,赋值为0

$n = $pageData['pageCount']; //总页数,

if ($n < 1) {

$n = 1;

}//当总数小于1时,赋值为1

if ($page == 1) {

$html.='1';

} else {

$html.='1';

}

///

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

if ($n <= 1) {

break;

}//当总页数为1时

$c = $f + $i; //从第$c开始累加计算

if ($i == 1 && $c > 2) {

$html.='...';

}

if ($c == 1) {

continue;

}

if ($c == $n) {

break;

}

if ($c == $page) {

$html.='' . $page . '';

} else {

$html.='' . $c . '';

}

if ($i == $o && $c < $n - 1) {

$html.='...';

}

if ($i > $n) {

break;

}//当总页数小于页码表长度时

}

if ($page == $n && $n != 1) {

$html.='' . $n . '';

} else {

$html.='' . $n . '';

}

$html .= '下一页';

$html .= '末页';

$html.='';

$html.="跳至\n";

for($i=1;$i<=$pageData['pageCount'];$i++){

if($i==$page) $html.="$i\n";

else $html.="$i\n";

}

$html.="页";

$html.='';

$html .= <<

function gotoUrl(url,pageNum) {

var gotoUrl = url.replace("PAGE", pageNum);

window.location= gotoUrl;

}

JS;

return $html;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值