Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function pagination($query,$per_page=10,$page=1,$url='?'){
- global $mysqli;
- $query = $mysqli->query("SELECT COUNT(*) as `num` FROM {$query}");
- $row = $query->fetch_array(); // this is the line where an error is given
- $total = $row['num'];
- $adjacents = "2";
- $prevlabel = "‹ Prev";
- $nextlabel = "Next ›";
- $lastlabel = "Last ››";
- $page = ($page == 0 ? 1 : $page);
- $start = ($page - 1) * $per_page;
- $prev = $page - 1;
- $next = $page + 1;
- $lastpage = ceil($total/$per_page);
- $lpm1 = $lastpage - 1; // //last page minus 1
- $pagination = "";
- if($lastpage > 1){
- $pagination .= "<ul class='pagination'>";
- $pagination .= "<li class='page_info'>Page {$page} of {$lastpage}</li>";
- if ($page > 1) $pagination.= "<li><a href='{$url}page={$prev}'>{$prevlabel}</a></li>";
- if ($lastpage < 7 + ($adjacents * 2)){
- for ($counter = 1; $counter <= $lastpage; $counter++){
- if ($counter == $page)
- $pagination.= "<li><a class='current'>{$counter}</a></li>";
- else
- $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
- }
- } elseif($lastpage > 5 + ($adjacents * 2)){
- if($page < 1 + ($adjacents * 2)) {
- for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){
- if ($counter == $page)
- $pagination.= "<li><a class='current'>{$counter}</a></li>";
- else
- $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
- }
- $pagination.= "<li class='dot'>...</li>";
- $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
- $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";
- } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {
- $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
- $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
- $pagination.= "<li class='dot'>...</li>";
- for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {
- if ($counter == $page)
- $pagination.= "<li><a class='current'>{$counter}</a></li>";
- else
- $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
- }
- $pagination.= "<li class='dot'>..</li>";
- $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
- $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";
- } else {
- $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
- $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
- $pagination.= "<li class='dot'>..</li>";
- for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
- if ($counter == $page)
- $pagination.= "<li><a class='current'>{$counter}</a></li>";
- else
- $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
- }
- }
- }
- if ($page < $counter - 1) {
- $pagination.= "<li><a href='{$url}page={$next}'>{$nextlabel}</a></li>";
- $pagination.= "<li><a href='{$url}page=$lastpage'>{$lastlabel}</a></li>";
- }
- $pagination.= "</ul>";
- }
- return $pagination;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement