Advertisement
Guest User

Untitled

a guest
Sep 17th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.52 KB | None | 0 0
  1. <?php
  2. $db_username = 'root'; // Your MYSQL Username.
  3. $db_password = ''; // Your MYSQL Password.
  4. $db_name = 'database_name_here'; // Your Database name.
  5. $db_host = 'localhost';
  6.  
  7. $conDB = mysqli_connect($db_host, $db_username, $db_password,$db_name)or die('Error: Could not connect to database.');
  8.  
  9. // Pagination Function
  10. function pagination($query,$per_page=10,$page=1,$url='?'){
  11. global $conDB;
  12. $query = "SELECT COUNT(*) as `num` FROM {$query}";
  13. $row = mysqli_fetch_array(mysqli_query($conDB,$query));
  14. $total = $row['num'];
  15. $adjacents = "2";
  16.  
  17. $prevlabel = "&lsaquo; Prev";
  18. $nextlabel = "Next &rsaquo;";
  19. $lastlabel = "Last &rsaquo;&rsaquo;";
  20.  
  21. $page = ($page == 0 ? 1 : $page);
  22. $start = ($page - 1) * $per_page;
  23.  
  24. $prev = $page - 1;
  25. $next = $page + 1;
  26.  
  27. $lastpage = ceil($total/$per_page);
  28.  
  29. $lpm1 = $lastpage - 1; // //last page minus 1
  30.  
  31. $pagination = "";
  32. if($lastpage > 1){
  33. $pagination .= "<ul class='pagination'>";
  34. $pagination .= "<li class='page_info'>Page {$page} of {$lastpage}</li>";
  35.  
  36. if ($page > 1) $pagination.= "<li><a href='{$url}page={$prev}'>{$prevlabel}</a></li>";
  37.  
  38. if ($lastpage < 7 + ($adjacents * 2)){
  39. for ($counter = 1; $counter <= $lastpage; $counter++){
  40. if ($counter == $page)
  41. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  42. else
  43. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  44. }
  45.  
  46. } elseif($lastpage > 5 + ($adjacents * 2)){
  47.  
  48. if($page < 1 + ($adjacents * 2)) {
  49.  
  50. for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){
  51. if ($counter == $page)
  52. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  53. else
  54. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  55. }
  56. $pagination.= "<li class='dot'>...</li>";
  57. $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
  58. $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";
  59.  
  60. } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {
  61.  
  62. $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
  63. $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
  64. $pagination.= "<li class='dot'>...</li>";
  65. for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {
  66. if ($counter == $page)
  67. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  68. else
  69. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  70. }
  71. $pagination.= "<li class='dot'>..</li>";
  72. $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
  73. $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";
  74.  
  75. } else {
  76.  
  77. $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
  78. $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
  79. $pagination.= "<li class='dot'>..</li>";
  80. for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
  81. if ($counter == $page)
  82. $pagination.= "<li><a class='current'>{$counter}</a></li>";
  83. else
  84. $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";
  85. }
  86. }
  87. }
  88.  
  89. if ($page < $counter - 1) {
  90. $pagination.= "<li><a href='{$url}page={$next}'>{$nextlabel}</a></li>";
  91. $pagination.= "<li><a href='{$url}page=$lastpage'>{$lastlabel}</a></li>";
  92. }
  93.  
  94. $pagination.= "</ul>";
  95. }
  96.  
  97. return $pagination;
  98. }
  99. ?>
  100. <!DOCTYPE HTML>
  101. <html>
  102. <head>
  103. <meta charset="utf-8">
  104. <title>Pagination - OTallu.com</title>
  105. <style type="text/css">
  106. /* For this page only */
  107. body { font-family:Arial, Helvetica, sans-serif; font-size:13px; }
  108. .wrap { text-align:center; line-height:21px; padding:20px; }
  109.  
  110. /* For pagination function. */
  111. ul.pagination {
  112. text-align:center;
  113. color:#829994;
  114. }
  115. ul.pagination li {
  116. display:inline;
  117. padding:0 3px;
  118. }
  119. ul.pagination a {
  120. color:#0d7963;
  121. display:inline-block;
  122. padding:5px 10px;
  123. border:1px solid #cde0dc;
  124. text-decoration:none;
  125. }
  126. ul.pagination a:hover,
  127. ul.pagination a.current {
  128. background:#0d7963;
  129. color:#fff;
  130. }
  131. </style>
  132. </head>
  133. <body>
  134. <div class="wrap">
  135.  
  136. <?php
  137. $page = (int)(!isset($_GET["page"]) ? 1 : $_GET["page"]);
  138. if ($page <= 0) $page = 1;
  139.  
  140. $per_page = 10; // Set how many records do you want to display per page.
  141.  
  142. $startpoint = ($page * $per_page) - $per_page;
  143.  
  144. $statement = "`records` ORDER BY `id` ASC"; // Change `records` according to your table name.
  145.  
  146. $results = mysqli_query($conDB,"SELECT * FROM {$statement} LIMIT {$startpoint} , {$per_page}");
  147.  
  148. if (mysqli_num_rows($results) != 0) {
  149.  
  150. // displaying records.
  151. while ($row = mysqli_fetch_array($results)) {
  152. echo $row['name'] . '<br>';
  153. }
  154.  
  155. } else {
  156. echo "No records are found.";
  157. }
  158.  
  159. // displaying paginaiton.
  160. echo pagination($statement,$per_page,$page,$url='?');
  161. ?>
  162. </div><!-- .wrap -->
  163. </body>
  164. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement