您的位置:首页 > 编程语言 > PHP开发

phpcms v9 自定义分页 带下拉跳转

2014-03-04 22:03 399 查看
<?php

function new_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;
}

// 如果总页数大于1才显示当前页码信息等。
if ($pages > 1)
{

$multipage .= '<p>共 '.$num.' 条 每页显示 '.$perpage.' 条 </p>';
$multipage .= '<ul>';
$multipage .= '<li>';
// 首页。
$multipage .= '<a href="'.pageurl($urlrule, 1, $array).'">[首页]</a>';
$multipage .= '</li>';
}

if($curr_page>0) {
$multipage .= ' <li><a href="'.pageurl($urlrule, $curr_page-1, $array).'" >[上一页]</a></li>';
if($curr_page==1) {
$multipage .= ' <li><span>1</span></li>';
} elseif($curr_page>6 && $more) {
$multipage .= ' <li><a href="'.pageurl($urlrule, 1, $array).'">1</a>..</li>';
} else {
$multipage .= ' <li><a href="'.pageurl($urlrule, 1, $array).'">1</a></li>';
}
}
for($i = $from; $i <= $to; $i++) {
if($i != $curr_page) {
$multipage .= ' <li><a href="'.pageurl($urlrule, $i, $array).'">'.$i.'</a></li>';
} else {
$multipage .= ' <li><span>'.$i.'</span></li>';
}
}
if($curr_page<$pages) {
if($curr_page<$pages-5 && $more) {
$multipage .= ' <li>..<a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';
} else {
$multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';
}
} elseif($curr_page==$pages) {
$multipage .= ' <li><span>'.$pages.'</span> <a href="'.pageurl($urlrule, $curr_page, $array).'" >下一页</a></li>';
} else {
$multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';
}
}
$str = http_build_query($_GET);
$ppp=explode(page,$str);
// 如果总页数大于1才显示“最后一页”。
if ($pages > 1)
{

$multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">[尾页]</a></li>';
$multipage .=' <li>'.$curr_page.'/'.$pages.'</li>';
$multipage .= ' <li><select>';
$multipage .= "<option value='0'>跳转到</option>";
for($i=1; $i<=$pages; $i++)
{

$multipage .= "<option value='index.php?$ppp[0]&page=$i'>第$i 页</option>";
}
$multipage .= '</select></li> ';

$multipage .= '</ul>';
}
return $multipage;
}

?> http://bbs.phpcms.cn/thread-728832-1-1.html[/code] 
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: