get_var($sqlStr);//total number of rows in data table $limit = $posts_per_page;//how many items to show per page if(!empty($paged))$page = $paged; else $page = 1; /* Setup vars for query. */ if($page) $start = ($page - 1) * $limit; //first item to display on this page else $start = 0; //if no page var is given, set start to 0 /* Setup page vars for display. */ if ($page == 0) $page = 1; //if no page var is given, default to 1. $prev = $page - 1; //anterior page is page - 1 $siguiente = $page + 1; //siguiente 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 /* Now we apply our rules and draw the pagination object. We're actually saving the code to a variable in case we want to draw it more than once. */ ob_start(); if($lastpage > 1){ echo "
"; //anterior button if($page > 1) echo "« $nav[0]"; else echo "« $nav[0]"; //pages if ($lastpage < 7 + ($adjacents * 2)){//not enough pages to bother breaking it up for ($counter = 1; $counter <= $lastpage; $counter++){ if ($counter == $page) echo "$counter"; else echo "$counter"; } } 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) echo "$counter"; else echo "$counter"; } echo "..."; echo "$lpm1"; echo "$lastpage"; } //in middle; hide some front and some back elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)){ echo "1"; echo "2"; echo "..."; for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) if ($counter == $page) echo "$counter"; else echo "$counter"; echo "..."; echo "$lpm1"; echo "$lastpage"; } //close to end; only hide early pages else{ echo "1"; echo "2"; echo "..."; for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) if ($counter == $page) echo "$counter"; else echo "$counter"; } } //siguiente button if ($page < $counter - 1) echo "$nav[1] »"; else echo "$nav[1] »"; echo "
\n"; } echo ob_get_clean(); } ?>