通用分頁函數 split

來源:互聯網
上載者:User
分頁|函數

// 分頁顯示:[1]... [<<] - [<] [9] [10] [11] [12] [13] [14] [15] [16] [>] - [>>] ...[232]
// url Format: ./list.php?page= ; system will add the Pagenum after the Url automaticly
// $Id: split_page.php,v 1.1.1.1 2002/08/24 14:26:41 hightman Exp $
 
function split_page($url, $total, $curpage = 1, $perpage = 15, $perlist = 8) {
    if ($total <= 0) return;
   
    if ($curpage <= 0) $curpage = 1;
    $totalpage = ceil($total / $perpage);
    $totallist = ceil($totalpage / $perlist);
   
    if ($curpage > $totalpage) $curpage = $totalpage;
    $curlist = ceil($curpage / $perlist);
   
    $toppage = $curlist * $perlist;
    if ($toppage > $totalpage) $toppage = $totalpage;
   
    $botpage = ($curlist - 1) * $perlist + 1;
    if ($botpage < 1) $botpage = 1;
   
    $ret = '';
   
    if ($curlist > 1) {
         $ret .= "<a title=\"第一頁\" href=\"" . $url . "1\">[1]</a>...\n";
         $ret .= "<a title=\"上一列\" href=\"" . $url . ($botpage - $perlist)."\">[<<]</a> -\n";
    }
   
    if ($curpage > 1)
         $ret .= "<a title=\"上一頁\" href=\"" . $url . ($curpage - 1) . "\">[<]</a>\n";
   
    do {
         if ($botpage == $curpage)
             $ret .= "<b><font color=red>[" . $botpage . "]</font></b>\n";
        else
             $ret .= "<a title=\"第" . $botpage . "頁\" href=\"" . $url . $botpage . "\">[" . $botpage . "]</a>\n";
    } while ($botpage++ < $toppage);
   
    if ($totalpage > $curpage)
            $ret .= "<a title=\"下一頁\" href=\"" . $url . ($curpage + 1) . "\">[>]</a>\n";
   
    if ($totallist > $curlist) {
            $ret .= "- <a title=\"下一列\" href=\"" . $url . ($toppage + 1) . "\">[>>]</a>\n";
            $ret .= "...<a title=\"最後一頁\" href=\"" . $url . $totalpage . "\">[" . $totalpage . "]</a>\n";
    }
   
    $ret .= "Total: " . $total;
    return ($ret);
}



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。