Simple PHP Pagenation Script [Help]

I am trying to implement a simple php pagenation script however it only seems to work on the first result only. Please see the code below:

can anyone help with this???
I know the issue is that $pagenum isn’t being updated with each pass however I have no clue as to where to update it.


//connects to database
mysql_connect("localhost","root","") or die('Could not connect to mysql server' . mysql_error());
mysql_select_db("joomla") or die ('Could not connect to database' . mysql_error());
//This checks to see if there is a page number. If not, it will set it to page 1 
if (!(isset($pagenum))) 
 { 
 $pagenum = 1; 
 echo $pagenum;
 } 
//Here we count the number of results 
$data = mysql_query("SELECT * FROM jos_content") or die ('Could not query database' . mysql_error());
$rows = mysql_num_rows($data); 
//This is the number of results displayed per page 
$page_rows = 6;
//This tells us the page number of our last page 
$last = ceil($rows/$page_rows);  
//this makes sure the page number isn't below one, or more than our maximum pages 
if ($pagenum < 1) 
 { 
 $pagenum = 1; 
 } 
elseif ($pagenum > $last) 
 { 
 $pagenum = $last; 
 } 
//This sets the range to display in our query 
$max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows;
//This is your query again, the same one... the only difference is we add $max into it
$data_p = mysql_query("SELECT * FROM jos_content $max") or die(mysql_error());
//This is where you display your query results
while($info = mysql_fetch_array($data_p)) 
 { 
 echo "<a href='article_desc.php?id=".$info['id']."'>".$info['title']."</a>";
 echo "<hr />";
 } 
// This shows the user what page they are on, and the total number of pages
echo " --Page $pagenum of $last-- <p>";
// First we check if we are on page one. If we are then we don't need a link to the previous page or the first page so we do nothing. If we aren't then we generate links to the first page, and to the previous page.
 if ($pagenum == 1) 
 {

 } 
else 
 {
 echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=1'> <<-First</a> ";
 echo " ";
 $previous = $pagenum-1;
 echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'> <-Previous</a> ";
 }
//just a spacer
echo " ---- ";
//This does the same as above, only checking if we are on the last page, and then generating the Next and Last links
if ($pagenum == $last) 
 {

 } 
else 
 {
 $next = $pagenum+1;
 echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$next'>Next -></a> ";
 echo " ";
 echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$last'>Last ->></a> ";
 } 

this post sounds awfully familiar… but anyway.

Turn this…

if (!(isset($pagenum))) 
 { 
 $pagenum = 1; 
 echo $pagenum;
 }

into this


$pagenum = (!(isset($_GET['pagenum']))) ? 1 : $_GET['pagenum']; 

The old script was relying on the old system of register_globals which has been deprecated, and for good reason.

Hey this works tks. If you have a better pagenation script i would love to see it. I got this script from about.com

mmh, there are plenty out there if you google… this one could use a bit of cleanup (the empty if’s are standing out to me on this point)

will do !!!
but the others tend to call a pager/pager.php class I didn’t want to use that