Advertisement
Guest User

Untitled

a guest
May 24th, 2015
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. function pagination($query,$per_page=10,$page=1,$url='?'){
  2. global $mysqli;
  3. $query = $mysqli->query("SELECT COUNT(*) as `num` FROM {$query}");
  4. $row = $query->fetch_array(); // this is the line where an error is given
  5. $total = $row['num'];
  6. $adjacents = "2";
  7.  
  8. $prevlabel = "‹ Prev";
  9. $nextlabel = "Next ›";
  10. $lastlabel = "Last ››";
  11.  
  12. $page = ($page == 0 ? 1 : $page);
  13. $start = ($page - 1) * $per_page;
  14.  
  15. $prev = $page - 1;
  16. $next = $page + 1;
  17.  
  18. $lastpage = ceil($total/$per_page);
  19.  
  20. $lpm1 = $lastpage - 1; // //last page minus 1
  21.  
  22. $pagination = "";
  23. if($lastpage > 1){
  24. $pagination .= "<ul class='pagination'>";
  25. $pagination .= "<li class='page_info'>Page {$page} of {$lastpage}</li>";
  26.  
  27. if ($page > 1) $pagination.= "<li><a href='{$url}page={$prev}'>{$prevlabel}</a></li>";
  28.  
  29. if ($lastpage < 7 + ($adjacents * 2)){
  30. for ($counter = 1; $counter <= $lastpage; $counter++){
  31. if ($counter == $page)
  32. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  33. else
  34. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  35. }
  36.  
  37. } elseif($lastpage > 5 + ($adjacents * 2)){
  38.  
  39. if($page < 1 + ($adjacents * 2)) {
  40.  
  41. for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){
  42. if ($counter == $page)
  43. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  44. else
  45. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  46. }
  47. $pagination.= "<li class='dot'>...</li>";
  48. $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
  49. $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";
  50.  
  51. } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {
  52.  
  53. $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
  54. $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
  55. $pagination.= "<li class='dot'>...</li>";
  56. for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {
  57. if ($counter == $page)
  58. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  59. else
  60. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  61. }
  62. $pagination.= "<li class='dot'>..</li>";
  63. $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
  64. $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";
  65.  
  66. } else {
  67.  
  68. $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
  69. $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
  70. $pagination.= "<li class='dot'>..</li>";
  71. for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
  72. if ($counter == $page)
  73. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  74. else
  75. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  76. }
  77. }
  78. }
  79.  
  80. if ($page < $counter - 1) {
  81. $pagination.= "<li><a href='{$url}page={$next}'>{$nextlabel}</a></li>";
  82. $pagination.= "<li><a href='{$url}page=$lastpage'>{$lastlabel}</a></li>";
  83. }
  84.  
  85. $pagination.= "</ul>";
  86. }
  87.  
  88. return $pagination;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement