Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function paginasi($query,$ulink,$limit=5){
- if (isset($_GET['pg'])){
- $page=$_GET['pg'];
- }else{
- $page=1;
- }
- $db = new db();
- $start=($page-1)*$limit;
- $qres = $db->query($query." LIMIT $start,$limit"); //--->isinya
- $res = $db->query($query); //--->isinya
- $pagination = "";
- $totpost=$db->rowCount();
- //echo $totpost;
- if ($totpost>0){
- $adjacents = 2; //mainin hide-hide
- $totpage=($totpost/$limit);
- if ($totpost<=$limit) $totpage=1;
- //$page=1; //page now
- $prev = $page - 1; //previous page is page - 1
- $next = $page + 1; //next page is page + 1
- $lastpage = ceil($totpost/$limit); //lastpage is = total pages / items per page, rounded up.
- $lpm1 = $lastpage - 1; //last page minus 1
- $uprev = $ulink."&pg=".$prev;
- $unext = $ulink."&pg=".$next;
- $ulast = $ulink."&pg=".$lastpage;
- $ulm1 = $ulink."&pg=".$lpm1;
- $pagination = "<div class='row' id='konten-patas'><div class=\"large-8 small-6 columns\">\n";
- if($lastpage > 1) //cek lebih dari satu halaman
- {
- $pagination .= "<ul class=\"pagination\">\n";
- //previous button
- if ($page > 1)
- $pagination.= "<li><a href=\"$uprev\">«</a></li>\n";
- else
- $pagination.= "<li class=\"arrow unavailable\"><a href=\"#\">«</a></li>\n";
- //pages
- if ($lastpage <= 3 + ($adjacents * 2)) //not enough pages to bother breaking it up
- {
- for ($counter = 1; $counter <= $lastpage; $counter++)
- {
- if ($counter == $page)
- $pagination.= "<li class=\"current\"><a href=\"#\">$counter</a></li>\n";
- else{
- $ucount = $ulink."&pg=".$counter;
- $pagination.= "<li><a href=\"$ucount\">$counter</a></li>\n";
- }
- }
- }
- else if($lastpage > 3 + ($adjacents * 2)) //enough pages to hide some
- {
- //close to beginning; only hide later pages
- if($page < 3 + ($adjacents * 2))
- {
- for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
- {
- if ($counter == $page)
- $pagination.= "<li class=\"current\"><a href=\"#\">$counter</a></li>\n";
- else{
- $ucount = $ulink."&pg=".$counter;
- $pagination.= "<li><a href=\"$ucount\">$counter</a></li>\n";
- }
- }
- $pagination.= "...";
- $pagination.= "<li><a href=\"$ulm1\">$lpm1</a></li>\n";
- $pagination.= "<li><a href=\"$ulast\">$lastpage</a></li>\n";
- }
- //in middle; hide some front and some back
- else if($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
- {
- $u1 = $ulink."&pg=1";
- $u2 = $ulink."&pg=2";
- $pagination.= "<li><a href=\"$u1\">1</a></li>\n";
- $pagination.= "<li><a href=\"$u2\">2</a</a></li>\n";
- $pagination.= "...";
- for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
- {
- if ($counter == $page)
- $pagination.= "<li class=\"current\"><a href=\"#\">$counter</a></li>\n";
- else{
- $ucount = $ulink."&pg=".$counter;
- $pagination.= "<li><a href=\"$ucount\">$counter</a></li>\n";
- }
- }
- $pagination.= "<li>...</li>";
- $pagination.= "<li><a href=\"$ulm1\">$lpm1</a></li>\n";
- $pagination.= "<li><a href=\"$ulast\">$lastpage</a></li>\n";
- }
- //close to end; only hide early pages
- else
- {
- $u1 = $ulink."&pg=1";
- $u2 = $ulink."&pg=2";
- $pagination.= "<li><a href=\"$u1\">1</a></li>\n";
- $pagination.= "<li><a href=\"$u2\">2</a</a></li>\n";
- $pagination.= "...";
- for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
- {
- if ($counter == $page)
- $pagination.= "<li class=\"current\"><a href=\"#\">$counter</a></li>\n";
- else{
- $ucount = $ulink."&pg=".$counter;
- $pagination.= "<li><a href=\"$ucount\">$counter</a></li>\n";
- }
- }
- }
- }
- //next button
- if ($page < $counter - 1)
- $pagination.= "<li><a href=\"$unext\">»</a></li>\n";
- else
- $pagination.= "<li class=\"arrow unavailable\"><a href=\"#\">»</a></li>\n";
- $pagination.= "</ul>\n";
- }
- //echo $pagination;
- $pagination .= "</div></div>\n";
- }
- $result['sql'] = $qres;
- $result['page'] = $pagination;
- return $result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement