<?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