Pagination Help Needed

Discussion in 'PHP' started by kampbell411, Dec 23, 2007.

  1. #1
    Hi,
    I was wondering if someone could help me with this. I am trying to stretch results over sveral pages using pagination. I can get the results from the database, the problem im having is with going to the next page. I get the same set of results with every page. The URL does page...."pagnum=1, ?pagenum=2...just the same results and differnt URL. Below is my code. Thanks in advance.

    
    <?php
    // Connects to your Database
    mysql_connect("localhost", "root", "root") or die(mysql_error()) ;
    mysql_select_db("dbname") or die(mysql_error()) ;
    
    //Pagination
    //This checks to see if there is a page number. If not, it will set it to page 1
    if (!(isset($pagenum)))
    {
    $pagenum = 1;
    }
    
    
    //Retrieves data from MySQL
    $data = mysql_query("SELECT * FROM events") or die(mysql_error());
    $rows = mysql_num_rows($data); 
    
    //Pagination Continued
    //This is the number of results displayed per page
    $page_rows = 3;
    
    //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;
    
    //Retrieves data from MySQL
    $data_p = mysql_query("SELECT * FROM events $max") or die(mysql_error());
    
    //Puts it into an array
    while($info = mysql_fetch_array( $data_p ))
    {
    
    //Outputs the image and other data
    Echo "<img width='150px' height='150px' src=http://localhost:8888/dbname/images/".$info['photo'] ."> <br>";
    Echo "<b>Name:</b> ".$info['name'] . "<br> ";
    Echo "<b>Date:</b> ".$info['date'] . " <br>";
    Echo "<b>Description:</b> ".$info['description'] . " <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> ";
    }
    ?>
    PHP:
     
    kampbell411, Dec 23, 2007 IP
  2. Barti1987

    Barti1987 Well-Known Member

    Messages:
    2,703
    Likes Received:
    115
    Best Answers:
    0
    Trophy Points:
    185
  3. kampbell411

    kampbell411 Peon

    Messages:
    82
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Thanks I guess if i cant figure out what i have Ill give that one a go.
    Cheers
     
    kampbell411, Dec 24, 2007 IP