您的位置首页生活快答

求助。。。 php分页太多

求助。。。 php分页太多

的有关信息介绍如下:

求助。。。 php分页太多

/**

* 分页函数

*

* @param $num 信息总数

* @param $curr_page 当前分页

* @param $perpage 每页显示数

* @param $urlrule URL规则

* @param $array 需要传递的数组,用于增加额外的方法

* @return 分页

*/

function pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages = 10) {

if(defined('URLRULE') && $urlrule == '') {

$urlrule = URLRULE;

$array = $GLOBALS['URL_ARRAY'];

} elseif($urlrule == '') {

$urlrule = url_par('page={$page}');

}

$multipage = '';

if($num > $perpage) {

$page = $setpages+1;

$offset = ceil($setpages/2-1);

$pages = ceil($num / $perpage);

if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES', $pages);

$from = $curr_page - $offset;

$to = $curr_page + $offset;

$more = 0;

if($page >= $pages) {

$from = 2;

$to = $pages-1;

} else {

if($from <= 1) {

$to = $page-1;

$from = 2;

} elseif($to >= $pages) {

$from = $pages-($page-2);

$to = $pages-1;

}

$more = 1;

}

$multipage .= ''.$num.L('page_item').'';

if($curr_page>0) {

$multipage .= ' '.L('previous').'';

if($curr_page==1) {

$multipage .= ' 1';

} elseif($curr_page>6 && $more) {

$multipage .= ' 1..';

} else {

$multipage .= ' 1';

}

}

for($i = $from; $i <= $to; $i++) {

if($i != $curr_page) {

$multipage .= ' '.$i.'';

} else {

$multipage .= ' '.$i.'';

}

}

if($curr_page<$pages) {

if($curr_page<$pages-5 && $more) {

$multipage .= ' ..'.$pages.''.L('next').'';

} else {

$multipage .= ' '.$pages.''.L('next').'';

}

} elseif($curr_page==$pages) {

$multipage .= ' '.$pages.''.L('next').'';

} else {

$multipage .= ' '.$pages.''.L('next').'';

}

}

return $multipage;

}思路就是当分页大于9的时候,就把中间部分的分页显示成。。。就行了。

通过if判断当大于9,就执行

if($curr_page<$pages-5 && $more) {具体的你看一下代码就明白了。