I want to make a minimalistic pagination script that basically does three things:
- On first page, just a next button.
- On last page, just a previous button.
- For all others in between, both.
I have most of the code worked out, but I’m just making some if/elseif statements that determine which page the user is on and I’m having a bit of trouble. (those at bottom) First, here’s the query code:
$per_page = 10;
$pages_query = mysql_query("SELECT COUNT(idnum) FROM images");
$pages = ceil(mysql_result($pages_query, 0) / $per_page);
$page = (isset($_GET['page'])) ? (int)$_GET['page'] :1;
$start = ($page -1) * $per_page;
$query = mysql_query("SELECT * FROM images ORDER BY idnum DESC LIMIT $start, $per_page");
And here’s the if statement part:
$nextend = $pages - 1;
$next = $page + 1;
$previous = $page - 1;
if ($pages >= 1 && $page = 1) {
echo '<a href="?page='.$next.'">next</a>';
} elseif ($pages >= 1 && $page = 2) {
echo '<a href="?page='.$previous.'">previous</a>';
}
It always results in the next button, no matter what page I’m on. How do I detect the page number so I can display the pagination buttons the way I want to? By the way, I know I don’t have the else statement for the middle pages (next and previous) yet.
You are assigning in your if statements rather than comparing. You don’t want this in your if statement:
That just assigns
1to$page.You want this:
Or this: