“最簡單的分頁代碼”


參加培訓的時候,教課的老師說這是他所見過的最簡單的分頁寫法。挺容易理解的,分享給大家

/**
*
*分頁類
* @param int $num  總頁數
* @param int $cnt     每頁顯示多少行數據
* @param int $curr     當前是第多少頁
*/

 

function fenye( $num,$cnt = 10,$curr = 1){
    // 第一步:計算一共有多少頁,ceil函數是向上取整
    $pages = ceil( $num / $cnt );

    // 最左邊的頁碼,就是當前頁碼減去2,如果里要顯示7個頁碼,那就減去3,9個頁碼就減4,總之是頁碼的一半
    // 我這例子是顯示5個頁碼
    $left = max($curr -2,1);

    // 拿左邊的數來計算最右邊的頁碼數,比如最左邊是1,那么最右邊就是5,2就是6,
    $right = min( $left + 4,$pages );

    // 再次計算左邊頁碼,這樣左右的頁碼就都准確了,
    $left = max( $right -4,1);

    $yema = array();

    for ($i= $left; $i < $right+1; $i++) { 
        $_GET['page'] = $i;
        $yema[$i] = http_build_query( $_GET );
    }
    return $yema;
}

另外附加上講一下http_build_query這個函數,能把數組單元用&符號拼接起來,很好用

如這樣一個例子:

$arr = array('page'=>'1','cat_id'=>'100');

echo http_build_query( $arr );

結果就是“page=1&cat_id=100”,所以用的時候只要在鏈接里加上"?"就可以拼湊出url,如<a href = "index.php?<?php echo這個函數的結果?>">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM