I'm creating previous/next links for query results.
I have an error about half way down..(see orange comment line)
I have seven entries in the database for testing purposes; the correct number is being displayed per page (4), however it says I have an invalid page number when I click next to view the other 3 entries and it doesn't display them.
Help will be greatly appreciated
<?php
// Number of entries per page
$per_page = 4;
$username = $_POST["StuUserID"];
$password = $_POST["StudPassword"];
$sql_text = ("select * from User_Info, GradeBook where User_Info.stuID=GradeBook.stuID AND User_Info.StuID='$username'and User_Info.Password='$password' ORDER BY DatePosted DESC");
// Set page #, if no page isspecified, assume page 1
if (!$page) {
$page = 1;
}
$prev_page = $page - 1;
$next_page = $page + 1;
$query = mysql_query($sql_text);
// Set up specified page
$page_start = ($per_page * $page) - $per_page;
$num_rows = mysql_num_rows($query);
if ($num_rows <= $per_page) {
$num_pages = 1;
} else if (($num_rows % $per_page) == 0) {
$num_pages = ($num_rows / $per_page);
} else {
$num_pages = ($num_rows / $per_page) + 1;
}
$num_pages = (int) $num_pages;
if (($page > $num_pages) || ($page < 0)) {
// ERROR COMING FROM HERE
echo "You have specified an invalid page number";
}
// perform the actual displaying...
$sql_text = $sql_text . " LIMIT $page_start, $per_page";
$query = mysql_query($sql_text);
$found = false;
while ($result = mysql_fetch_array($query)) {
$found = true;
$username = $result[StuID];
$password = $result[Password];
$fname = $result[FirstName];
$lname = $result[LastName];
$cname = $result[ClassName];
$glevel = $result[GradeLevel];
$number = $result[Number];
$assign = $result[Assignment];
$grade = $result[Grade];
$comments = $result[Comments];
$dposted = $result[DatePosted];
echo "
<div align=center>
<center>
<table width=90%>
<tr>
<td width=15% align=center>$cname</td>
<td width=10% align=center>$number</td>
<td width=20% align=center>$assign</td>
<td width=10% align=center>$grade</td>
<td width=15% align=center>$dposted</td>
<td width=20% align=center>$comments</td>
</tr>
</table>
</center>
</div>
";
}
// Previous
if ($prev_page) {
echo "<a href=\"$PHP_SELF?page=$prev_page\">Prev</a>";
}
// Page # direct links
for ($i = 1; $i <= $num_pages; $i++) {
if ($i != $page) {
echo " <a href=\"$PHP_SELF?page=$i\">$i</a> ";
} else {
echo " $i ";
}
}
// Next
if ($page != $num_pages) {
echo "<a href=\"$PHP_SELF?page=$next_page\">Next</a>";
}
?>