Here is the function in which you have to pass only some parameters and you will get bootstrap pagination as output.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | <?php /** * Get Bootstrap pagination output * @param int $targetpage * @param int $total_pages * @param int $limit * @param int $adjacents * @param string $page * @param int $start * @return string */ function pagination($targetpage, $total_pages, $limit, $adjacents, $page, $start) { /* Setup page vars for display. */ if ($page == 0) $page = 1; //if no page var is given, default to 1. $prev = $page - 1; //previous page is page - 1 $next = $page + 1; //next page is page + 1 $lastpage = ceil($total_pages / $limit); //lastpage is = total pages / items per page, rounded up. $lpm1 = $lastpage - 1; //last page minus 1 $pagination = ""; if ($lastpage > 1) { $pagination .= "<div class='col-xs-12 text-center'><ul class=\"pagination pagination-sm\">"; //previous button if ($page > 1) $pagination.= "<li><a href=\"$targetpage/page/$prev\">«</a></li>"; else $pagination.= "<li class='disabled'><span class=\"disabled\">«</span></li>"; //pages if ($lastpage < 7 + ($adjacents * 2)) { //not enough pages to bother breaking it up for ($counter = 1; $counter <= $lastpage; $counter++) { if ($counter == $page) $pagination.= "<li class='active'><span class=\"current\">$counter</span></li>"; else $pagination.= "<li><a href=\"$targetpage/page/$counter\">$counter</a></li>"; } } elseif ($lastpage > 5 + ($adjacents * 2)) { //enough pages to hide some //close to beginning; only hide later pages if ($page < 1 + ($adjacents * 2)) { for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) { if ($counter == $page) $pagination.= "<li class='active'><span class=\"current\">$counter</span></li>"; else $pagination.= "<li><a href=\"$targetpage/page/$counter\">$counter</a></li>"; } $pagination.= "..."; $pagination.= "<li><a href=\"$targetpage/page/$lpm1\">$lpm1</a</li>>"; $pagination.= "<li><a href=\"$targetpage/page/$lastpage\">$lastpage</a></li>"; } //in middle; hide some front and some back elseif ($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) { $pagination.= "<li><a href=\"$targetpage/page/1\">1</a></li>"; $pagination.= "<li><a href=\"$targetpage/page/2\">2</a></li>"; $pagination.= "..."; for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) { if ($counter == $page) $pagination.= "<li class='active'><span class=\"current\">$counter</span></li>"; else $pagination.= "<li><a href=\"$targetpage/page/$counter\">$counter</a></li>"; } $pagination.= "..."; $pagination.= "<li><a href=\"$targetpage/page/$lpm1\">$lpm1</a></li>"; $pagination.= "<li><a href=\"$targetpage/page/$lastpage\">$lastpage</a></li>"; } //close to end; only hide early pages else { $pagination.= "<li><a href=\"$targetpage/page/1\">1</a></li>"; $pagination.= "<li><a href=\"$targetpage/page/2\">2</a></li>"; $pagination.= "..."; for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) { if ($counter == $page) $pagination.= "<li class='active'><span class=\"current\">$counter</span></li>"; else $pagination.= "<li><a href=\"$targetpage/page/$counter\">$counter</a></li>"; } } } //next button if ($page < $counter - 1) $pagination.= "<li><a href=\"$targetpage/page/$next\">»</a></li>"; else $pagination.= "<li class='disabled'><span class=\"disabled\">»</span></li>"; $pagination.= "</ul></div>"; } return $pagination; } ?> |