Reaper0167 Posted July 4, 2009 Share Posted July 4, 2009 I was looking to add page numbers to this script.(Special thanks to everyone that helped me with this script) I'm looking to take it a step further and add some page numbers, so a user doesn't have to keep clicking the next button to get to, lets say picture 15 of 60. I've done a few searches and there really isn't a detailed example. Most of the tutorials are hard to follow. Plus, I would like to pretty much keep the general idea of this script, if you know what I mean. Any suggestions. <?php include 'connection.php'; if (isset($_GET['pageno'])) { $pageno = (int)$_GET['pageno']; //added int } else { $pageno = 1; } $query = "SELECT count(*) FROM abc123 WHERE category = '$selecting'"; $result = mysql_query($query); $query_data = mysql_fetch_row($result); $numrows = $query_data[0]; $rows_per_page = 10; $lastpage = ceil($numrows/$rows_per_page); $pageno = (int)$pageno; if ($pageno > $lastpage) { $pageno = $lastpage; } if ($pageno < 1) { $pageno = 1; } $limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page; $query = "SELECT id, thumb_1, item_name, description, in_return FROM abc123 WHERE category = '$selecting' $limit"; $result = mysql_query($query); if($lastpage != 0) { echo "<table border='0' CELLPADDING=5 STYLE='font-size:16px'>"; while ($row = mysql_fetch_array($result)) { echo "<tr><td align='center'>"; echo '<a href="viewitem.php?sendto='.$row['id'].'"><img src="' . $row['thumb_1'] . '" border="0" alt=""></a>'; echo "</td><td align='center'>"; echo "".substr($row['item_name'],0,50),""; echo "</td><td align='center'>"; echo substr($row['description'],0,50).'<a href="viewitem.php?sendto='.$row['id'].'" class="view_item"> ...more</a>'; echo "</td><td align='center'>"; echo substr($row['in_return'],0,50).'<a href="viewitem.php?sendto='.$row['id'].'" class="view_item"> ...</a>'; echo "</td><td align='center'>"; echo "</td></tr>"; echo '<tr><td height="19" colspan="4">'; echo '<hr width="550">'; echo "</td></tr>"; } echo "</table>"; if ($pageno != 1) { $prevpage = $pageno-1; echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREVIOUS</a> "; } echo " ( Page $pageno of $lastpage ) "; if ($pageno != $lastpage) { $nextpage = $pageno+1; echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> "; } } else { echo 'No pictures.'; } mysql_close(); ?> Quote Link to comment https://forums.phpfreaks.com/topic/164737-difficult-to-add-page-numbers-to-this-pagination/ Share on other sites More sharing options...
Bendude14 Posted July 4, 2009 Share Posted July 4, 2009 If $lastpage contains the number of the last page you could have a loop at the bottom of your page like so... for($i=2;$ i<$lastpage; $i++) { echo "<a href='{$_SERVER['PHP_SELF']}?pageno=$i'>$i</a>"; } I set $i as 2 so you would only display the page numbers if their was more than 2 pages.. Quote Link to comment https://forums.phpfreaks.com/topic/164737-difficult-to-add-page-numbers-to-this-pagination/#findComment-868719 Share on other sites More sharing options...
Reaper0167 Posted July 5, 2009 Author Share Posted July 5, 2009 Well, I just noticed that my original pagination setup does not work properly. So before I got and add page numbers, I think it would be best to fix it. If I set my rows per page to 1, it says that I have 3 pages, which is correct, I have 3 pictures in the database. But when I click on the next button, it then says that I have no pics. Anyone know what is going on? <?php include 'connection.php'; if (isset($_GET['pageno'])) { $pageno = (int)$_GET['pageno']; } else { $pageno = 1; } $query = "SELECT count(*) FROM abc123 WHERE category = '$selecting'"; $result = mysql_query($query); $query_data = mysql_fetch_row($result); $numrows = $query_data[0]; $rows_per_page = 1; $lastpage = ceil($numrows/$rows_per_page); $pageno = (int)$pageno; if ($pageno > $lastpage) { $pageno = $lastpage; } if ($pageno < 1) { $pageno = 1; } $limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page; $query = "SELECT id, thumb_1, item_name, description, in_return FROM abc123 WHERE category = '$selecting' $limit"; $result = mysql_query($query); if($lastpage != 0) { echo "<table border='0' CELLPADDING=5 STYLE='font-size:16px'>"; while ($row = mysql_fetch_array($result)) { echo "<tr><td align='center'>"; echo '<a href="viewitem.php?sendto='.$row['id'].'"><img src="' . $row['thumb_1'] . '" border="0" alt=""></a>'; echo "</td><td align='center'>"; echo "".substr($row['item_name'],0,50),""; echo "</td><td align='center'>"; echo substr($row['description'],0,50).'<a href="viewitem.php?sendto='.$row['id'].'" class="view_item"> ...more</a>'; echo "</td><td align='center'>"; echo substr($row['in_return'],0,50).'<a href="viewitem.php?sendto='.$row['id'].'" class="view_item"> ...</a>'; echo "</td><td align='center'>"; echo "</td></tr>"; echo '<tr><td height="19" colspan="4">'; echo '<hr width="550">'; echo "</td></tr>"; } echo "</table>"; if ($pageno != 1) { $prevpage = $pageno-1; echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREVIOUS</a> "; } echo " ( Page $pageno of $lastpage ) "; if ($pageno != $lastpage) { $nextpage = $pageno+1; echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> "; } } else { echo 'You have no pictures.'; } mysql_close(); ?> Quote Link to comment https://forums.phpfreaks.com/topic/164737-difficult-to-add-page-numbers-to-this-pagination/#findComment-869331 Share on other sites More sharing options...
Bendude14 Posted July 7, 2009 Share Posted July 7, 2009 well the only way you can get to the else statement for "No pictures" is if your last page equals 0. $lastpage is only set in once place which is here. $lastpage = ceil($numrows/$rows_per_page); Now we know $rows_per_page = 1 so $numrows must be set to zero, try echoing out query_data[0] to see if it contains the correct result on each page.... Ben Quote Link to comment https://forums.phpfreaks.com/topic/164737-difficult-to-add-page-numbers-to-this-pagination/#findComment-870123 Share on other sites More sharing options...
sasa Posted July 7, 2009 Share Posted July 7, 2009 you must past $selecting to next page Quote Link to comment https://forums.phpfreaks.com/topic/164737-difficult-to-add-page-numbers-to-this-pagination/#findComment-870220 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.