PHP多分页带省略号实现函数

来自:互联网
时间:2018-08-05
阅读:
function page_more($urlrule, $currpage, $pages) {
        $setpages = 8; // 要显示的页数        $offset = ceil ( $setpages / 2 - 1 ); // 偏移量        $from = $currpage - $offset; // 当前页-偏移量        $to = $currpage + $offset; // 当前页+偏移量        $multipage = ''; // 分页代码        $more = ''; // 末尾更多符号+最后页        $lastpage = '.. <a href="' . pageurl ( $urlrule, $pages ) . '">' . $pages . '</a> '; // 最后页代码        if ($setpages >= $pages) { // 如果要显示的页数大于等于总页数,直接从1显示到最后页                $from = 1;
                $to = &$pages;
        } else { // 设置的页数小于总页数时,另外做判断                if ($currpage >= $setpages) { // 当前页大于设置的页数                        $multipage .= '<a href="' . pageurl ( $urlrule, 1 ) . '">1</a> .. ';
                        if ($to < $pages) {
                                $more = &$lastpage;
                        } else {
                                $from = $pages - $setpages + 1;
                                $to = &$pages;
                        }
                } else { // 当前页小于设置的页数,显示从1开始到设置的页数                        $from = 1;
                        $to = &$setpages;
                        $more = &$lastpage;
                }
        }
        for($from; $from <= $to; $from ++) {
                if ($from != $currpage) {
                        $multipage .= '<a href="' . pageurl ( $urlrule, $from ) . '">' . $from . '</a> ';
                } else {
                        $multipage .= '<span>' . $from . '</span> ';
                }
        }
        return $multipage . $more;
}
返回顶部
顶部