Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    Regular Coder
    Join Date
    Nov 2006
    Posts
    601
    Thanks
    1
    Thanked 2 Times in 2 Posts

    pageination not working right... coping images over 4 pages

    PHP Code:
    <?php //This code will obtain the required page number from the $_GET array. Note that if it is not present it will default to 1.
    if (isset($_GET['pageno'])) {
       
    $pageno $_GET['pageno'];
    } else {
       
    $pageno 1;
    // if
    //This code will count how many rows will satisfy the current query.

    $query ="SELECT * FROM `photos`  WHERE `thumb_id` = '3'";
    $result mysql_query($query) or trigger_error("SQL"E_USER_ERROR);
    $query_data mysql_fetch_row($result);
    $numrows $query_data[0];

    //This code uses the values in $rows_per_page and $numrows in order to identify the number of the last page.

    $rows_per_page 3;
    $lastpage      ceil($numrows/$rows_per_page);

    //This code checks that the value of $pageno is an integer between 1 and $lastpage.

    $pageno = (int)$pageno;
    if (
    $pageno $lastpage) {
       
    $pageno $lastpage;
    // if
    if ($pageno 1) {
       
    $pageno 1;
    // if

    //This code will construct the LIMIT clause for the sql SELECT statement.

    $limit 'LIMIT ' .($pageno 1) * $rows_per_page .',' .$rows_per_page;

    //Now we can issue the database qery and process the result.

    $sql="SELECT * FROM `photos`  WHERE `thumb_id` = '3'";
    $res mysql_query($sql) or die(mysql_error());


     echo 
    "<table>";
                            
    $i 0;
                            while(
    $row mysql_fetch_assoc($res)){
                                    
    $i++;
                                    if (
    $i == 0)
                                            echo 
    '<tr>';
                                   
                                    echo 
    "<td> <img src=\"http://www.runningprofiles.com/members/include/myimages/thumbs/" $row['picurl'] . "\" /></a><br /> </td>";
                                                   
                                    if (
    $i == 0)
                                            echo 
    '</tr>';

                                    if( 
    $i == ) break;
                            }
                            echo 
    "</table>";
    //... process contents of $result ...
    //Finally we must construct the hyperlinks which will allow the user to select other pages. We will start with the links for any previous pages.

    if ($pageno == 1) {
       echo 
    " FIRST PREV ";
    } else {
       echo 
    " <a href='http://www.runningprofiles.com/members/index.php?page=album&pageno=1'>FIRST</a> ";
       
    $prevpage $pageno-1;
       echo 
    " <a href='http://www.runningprofiles.com/members/index.php?page=album&pageno=$prevpage'>PREV</a> ";
    // if

    //Next we inform the user of his current position in the sequence of available pages.

    echo " ( Page $pageno of $lastpage ) ";

    //This code will provide the links for any following pages.

    if ($pageno == $lastpage) {
       echo 
    " NEXT LAST ";
    } else {
       
    $nextpage $pageno+1;
       echo 
    " <a href='http://www.runningprofiles.com/members/index.php?page=album&pageno=$nextpage'>NEXT</a> ";
       echo 
    " <a href='http://www.runningprofiles.com/members/index.php?page=album&pageno=$lastpage'>LAST</a> ";
    // if



    ?>
    Im alittle confused by my pageinated results... i only have 2 images... and for some reason its repeated these images over 11 pages... how comes?

  • #2
    Senior Coder tomws's Avatar
    Join Date
    Nov 2007
    Location
    Arkansas
    Posts
    2,644
    Thanks
    29
    Thanked 330 Times in 326 Posts
    Where did you get this part?
    PHP Code:
    //This code will count how many rows will satisfy the current query.

    $query ="SELECT * FROM `photos`  WHERE `thumb_id` = '3'";
    $result mysql_query($query) or trigger_error("SQL"E_USER_ERROR);
    $query_data mysql_fetch_row($result);
    $numrows $query_data[0]; 
    That doesn't look right. It should be selecting a COUNT or else using mysql_num_rows. Since the rest of the page numbers are based upon the $numrows variable, it needs to have the right number here. Echo it to see if it's what it should be.
    Are you a Help Vampire?


  •  

    Posting Permissions

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