Break up PHP Pagination links

前端 未结 4 1533
清酒与你
清酒与你 2020-12-19 06:49

I have the following method that creates and returns markup for my pagination links in PHP.

public function getPaginationLinks($options) {
    if($options[\'         


        
4条回答
  •  孤城傲影
    2020-12-19 07:25

    You just display the current page plus the previous and the following x (say 4) pages.

    If you're on Page 1:

    1 2 3 4 5
    

    Page 35:

    31 32 33 34 35 36 37 38 39
    

    Page 70:

    66 67 68 69 70
    

    You could also add a quick link to the first and last page using « and » for instance.


    Example:

    $x = 4;
    
    for ($i = $currentPage - $x; $i < $currentPage; $i++)
    {
        if ($i >= 1) { /* show link */}
        else { /* show ellipsis and fix counter */ $i = 1; }
    }
    
    /* show current page number without link */
    
    for ($i = $currentPage + 1; $i < $currentPage + $x; $i++)
    {
        if ($i <= $totalPages) { /* show link */}
        else { /* show ellipsis and break */ break; }
    }
    

    You can also implement Infinite History / Pagination, which is uber cool. =)


    UPDATE: A more elegant version of this @ Codepad.

提交回复
热议问题