SitePoint Sponsor

User Tag List

Results 1 to 5 of 5
  1. #1
    SitePoint Zealot
    Join Date
    Aug 2011
    Location
    Trinidad and Tobago
    Posts
    194
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    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.

    PHP Code:
    //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> ";
     } 

  2. #2
    Keeper of the SFL StarLion's Avatar
    Join Date
    Feb 2006
    Location
    Atlanta, GA, USA
    Posts
    3,747
    Mentioned
    64 Post(s)
    Tagged
    0 Thread(s)
    this post sounds awfully familiar... but anyway.

    Turn this...
    PHP Code:
    if (!(isset($pagenum))) 
     { 
     
    $pagenum 1
     echo 
    $pagenum;
     } 
    into this
    PHP Code:
    $pagenum = (!(isset($_GET['pagenum']))) ? $_GET['pagenum']; 
    The old script was relying on the old system of register_globals which has been deprecated, and for good reason.

  3. #3
    SitePoint Zealot
    Join Date
    Aug 2011
    Location
    Trinidad and Tobago
    Posts
    194
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by StarLion View Post
    this post sounds awfully familiar... but anyway.

    Turn this...
    PHP Code:
    if (!(isset($pagenum))) 
     { 
     
    $pagenum 1
     echo 
    $pagenum;
     } 
    into this
    PHP Code:
    $pagenum = (!(isset($_GET['pagenum']))) ? $_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

  4. #4
    Keeper of the SFL StarLion's Avatar
    Join Date
    Feb 2006
    Location
    Atlanta, GA, USA
    Posts
    3,747
    Mentioned
    64 Post(s)
    Tagged
    0 Thread(s)
    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)

  5. #5
    SitePoint Zealot
    Join Date
    Aug 2011
    Location
    Trinidad and Tobago
    Posts
    194
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    will do !!!
    but the others tend to call a pager/pager.php class I didn't want to use that


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •