Gruzin Posted August 24, 2006 Share Posted August 24, 2006 hi guys, I really need a simple pagination script to dispaly 10 results of mysql table. I've been searching for that kind of tutorials for a week! I've found many of them but actually they doesn't work... hope someone can help here:( thanks for your time.G Quote Link to comment Share on other sites More sharing options...
shocker-z Posted August 24, 2006 Share Posted August 24, 2006 your looking at the best site right now mate http://www.phpfreaks.com/tutorial_cat/25/Page-Number--Pagination.php have fun :) Quote Link to comment Share on other sites More sharing options...
Gruzin Posted August 24, 2006 Author Share Posted August 24, 2006 sorry but... I've tryed both of them, unfortunately it doesn't work... Quote Link to comment Share on other sites More sharing options...
blunt Posted August 24, 2006 Share Posted August 24, 2006 Hi,I do my own pagination its really quite easy.[code]// im not including much error checking this is just the basics - assuming mysql queries return results etc.// fetch the total amount of results to work out number of pages - you could store the total pages in // a session variable but im not going to bring sessions into this example$sql = 'select col1, col2, col3 from table';$res = mysql_query($sql);$total_results = mysql_num_rows($res);$total_per_page = 10;// work out the number of pages, use ceil incase its not an equal divide// need an extra page to show remaining results$number_of_pages = ceil($total_results / $total_per_page);// check if we have the get variable "page" indicating what page we are on// otherwise just set it to page 1if (isset($_GET['page']) && is_numeric($_GET['page']) && $_GET['page'] <= $number_of_pages) $page = $_GET['page'];else $page = 1;// construct the page links$pagelinks = 'Page(s): ';for ($x = 1; $x <= $number_of_pages; $x++) { if ($x == $page) $pagelinks .= '<b>'.$x.'</b> '; else $pagelinks .= '<a href="'.$_SERVER['PHP_SELF'].'?page='.$x.'">'.$x.'</a> ';}if ($page > 1) $previouslink = '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page-1).'">« Previous</a>';else $previouslink = '';if ($page < $number_of_pages) $nextlink = '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page+1).'">Next »</a>';else $nextlink = '';// find the starting record number$start_record = (($total_per_page * $page) - $total_per_page);// now we modify our original sql statement to return only the results we are displaying$sql .= ' limit '.$start_record.', '.$total_per_page;// re-execute$res = mysql_query($sql);while ($row = mysql_fetch_object($res)) { echo '<div id="result">'.$row->col1.' - '.$row->col2.' - '.$row->col3.'</div>'."\n";}echo '<div id="pageNav">'.$previouslink;if ($nextlink != '') echo ' - ';echo $nextlink.'<br/>'.$pagelinks.'</div>'."\n";[/code]I wrote this out of my head now so there may be a syntax error or two but thats how I do my simple pagination... Quote Link to comment Share on other sites More sharing options...
Gruzin Posted August 24, 2006 Author Share Posted August 24, 2006 ok, thank you very much! You've just saved me :) Quote Link to comment 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.