summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--system/libraries/Pagination.php18
1 files changed, 7 insertions, 11 deletions
diff --git a/system/libraries/Pagination.php b/system/libraries/Pagination.php
index a004419d6..c66d570cd 100644
--- a/system/libraries/Pagination.php
+++ b/system/libraries/Pagination.php
@@ -109,17 +109,6 @@ class CI_Pagination {
// Calculate the total number of pages
$num_pages = ceil($this->total_rows / $this->per_page);
- /*
- // Calculate the total number of pages
- $num_pages = intval($this->total_rows / $this->per_page);
-
- // Use modulus to see if our division has a remainder. If so, add one to our page number.
- if ($this->total_rows % $this->per_page)
- {
- $num_pages++;
- }
- */
-
// Is there only one page? Hm... nothing more to do here then.
if ($num_pages == 1)
{
@@ -138,6 +127,13 @@ class CI_Pagination {
$this->cur_page = 0;
}
+ // Is the page number beyond the result range?
+ // If so we show the last page
+ if ($this->cur_page > $this->total_rows)
+ {
+ $this->cur_page = ($num_pages - 1) * $this->per_page;
+ }
+
$uri_page_number = $this->cur_page;
$this->cur_page = floor(($this->cur_page/$this->per_page) + 1);