суббота, 3 августа 2013 г.

PHP: Simple pagination with a Twitter Bootstrap

PHP: Simple pagination uses a Twitter Bootstrap layout:



  1. $targetpage = "search.php";
  2. $limit = 50; //Records per page
  3. $total_pages = $total_count; //Total number of the records to paginate
  4.  
  5. $stages = 3;
  6. $page = mysql_escape_string($_REQUEST['page']);
  7. if ($page) {
  8. $start = ($page - 1) * $limit;
  9. } else {
  10. $start = 0;
  11. }
  12. if ($page == 0) {
  13. $page = 1;
  14. }
  15. $prev = $page - 1;
  16. $next = $page + 1;
  17. $lastpage = ceil($total_pages / $limit);
  18. $LastPagem1 = $lastpage - 1;
  19.  
  20. $paginate = '';
  21. if ($lastpage > 1) {
  22.  
  23. $paginate .= "<div class='pagination pagination-centered'><ul>";
  24. if ($page > 1) {
  25. $paginate.= "<li><a href='#' onclick='showpage($prev);'>«</a></li>";
  26. } else {
  27. $paginate.= "<li class='disabled'><span>«</span></li>";
  28. }
  29. if ($lastpage < 7 + ($stages * 2)) {
  30. for ($counter = 1; $counter <= $lastpage; $counter++) {
  31. if ($counter == $page) {
  32. $paginate.= "<li class='active'><span>$counter</span></li>";
  33. } else {
  34. $paginate.= "<li><a href='#' onclick='showpage($counter);'>$counter</a></li>";
  35. }
  36. }
  37. } elseif ($lastpage > 5 + ($stages * 2)) {
  38. if ($page < 1 + ($stages * 2)) {
  39. for ($counter = 1; $counter < 4 + ($stages * 2); $counter++) {
  40. if ($counter == $page) {
  41. $paginate.= "<li class='active'><span>$counter</span></li>";
  42. } else {
  43. $paginate.= "<li><a href='#' onclick='showpage($counter);'>$counter</a></li>";
  44. }
  45. }
  46.  
  47. $paginate.= "<li class='disabled'><span>...</span></li>";
  48. $paginate.= "<li><a href='#' onclick='showpage($LastPagem1);'>$LastPagem1</a></li>";
  49. $paginate.= "<li><a href='#' onclick='showpage($lastpage);'>$lastpage</a></li>";
  50. } elseif ($lastpage - ($stages * 2) > $page && $page > ($stages * 2)) {
  51. $paginate.= "<li><a href='#' onclick='showpage(1);'>1</a></li>";
  52. $paginate.= "<li><a href='#' onclick='showpage(2);'>2</a></li>";
  53. $paginate.= "<li class='disabled'><span>...</span></li>";
  54. for ($counter = $page - $stages; $counter <= $page + $stages; $counter++) {
  55. if ($counter == $page) {
  56. $paginate.= "<li class='active'><span>$counter</span></li>";
  57. } else {
  58. $paginate.= "<li><a href='#' onclick='showpage($counter);'>$counter</a><li>";
  59. }
  60. }
  61. $paginate.= "<li class='disabled'><span>...</span></li>";
  62. $paginate.= "<li><a href='#' onclick='showpage($LastPagem1);'>$LastPagem1</a></li>";
  63. $paginate.= "<li><a href='#' onclick='showpage($lastpage);'>$lastpage</a></li>";
  64. } else {
  65. $paginate.= "<li><a href='#' onclick='showpage(1);'>1</a></li>";
  66. $paginate.= "<li><a href='#' onclick='showpage(2);'>2</a></li>";
  67. $paginate.= "<li class='disabled'><span>...</span></li>";
  68.  
  69.  
  70.  
  71. for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++) {
  72. if ($counter == $page) {
  73. $paginate.= "<li class='active'><span>$counter</span></li>";
  74. } else {
  75. $paginate.= "<li><a href='#' onclick='showpage($counter);'>$counter</a></li>";
  76. }
  77. }
  78. }
  79. }
  80.  
  81. if ($page < $counter - 1) {
  82. $paginate.= "<li><a href='#' onclick='showpage($next);'>»</a></li>";
  83. } else {
  84. $paginate.= "<li class='disabled'><span>»</span></li>";
  85. }
  86.  
  87. $paginate.= "</ul></div>";
  88. }
  89. echo $paginate;


Комментариев нет:

Отправить комментарий

Постоянные читатели

Популярные сообщения