Advertisement
Guest User

Untitled

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