Page 1 of 1

what's wrong with my pagination?

Posted: Mon Mar 22, 2010 7:51 am
by adsegzy
Hello Friends, am having a little problem with my pagination. the syntax is below but the problem is that my page is not showing my results. I have 13 data in my database, if i set the number of result to 5 data per page the pagination links below will show link to Page 1,2 and 3. if i change it to 3 results per page, it will show the link to page 1,2,3 and 4 meaning that the syntax is able to detect the number of records in my database but the page is not displaying the results. pls what do i do?

Code: Select all

<?php
    /*
        Place code to connect to your DB here.
    */
    include("../bizjoin.php");  // include your code to connect to DB.
 
    $query = mysql_query("SELECT COUNT(*) as num FROM regmem");
    $total_pages = mysql_fetch_array($query);
    $total_pages = $total_pages[num];
    
    /* Setup vars for query. */
    $targetpage = "viewmembers.php";    //your file name  (the name of this file)
    $limit = 5;                     //how many items to show per page
    $page = $_GET['page'];
    if($page) 
        $start = ($page - 1) * $limit;      //first item to display on this page
    else
        $start = 0;         //if no page var is given, set start to 0
    
    /* Get data. */
    $sql = mysql_query("SELECT * FROM regmem LIMIT $start, $limit");
    
    /* Setup page vars for display. */
    if ($page == 0) $page = 1;          //if no page var is given, default to 1.
    $prev = $page - 1;              //previous page is page - 1
    $next = $page + 1;              //next page is page + 1
    $lastpage = ceil($total_pages/$limit);      //lastpage is = total pages / items per page, rounded up.
    $lpm1 = $lastpage - 1;                      //last page minus 1
    
    /* 
        Now we apply our rules and draw the pagination object. 
        We're actually saving the code to a variable in case we want to draw it more than once.
    */
    $pagination = "";
    if($lastpage > 1)
    {   
        $pagination .= "<div class=\"pagination\">";
        //previous button
        if ($page > 1) 
            $pagination.= "<a href=\"$targetpage?page=$prev\">« previous</a>";
        else
            $pagination.= "<span class=\"disabled\">« previous</span>";    
        
        //pages 
        if ($lastpage < 7 + ($adjacents * 2))   //not enough pages to bother breaking it up
        {   
            for ($counter = 1; $counter <= $lastpage; $counter++)
            {
                if ($counter == $page)
                    $pagination.= "<span class=\"current\">$counter</span>";
                else
                    $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                 
            }
        }
        elseif($lastpage > 5 + ($adjacents * 2))    //enough pages to hide some
        {
            //close to beginning; only hide later pages
            if($page < 1 + ($adjacents * 2))        
            {
                for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                 
                }
                $pagination.= "...";
                $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";       
            }
            //in middle; hide some front and some back
            elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
            {
                $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                $pagination.= "...";
                for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                 
                }
                $pagination.= "...";
                $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";       
            }
            //close to end; only hide early pages
            else
            {
                $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                $pagination.= "...";
                for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                 
                }
            }
        }
        
        //next button
        if ($page < $counter - 1) 
            $pagination.= "<a href=\"$targetpage?page=$next\">next »</a>";
        else
            $pagination.= "<span class=\"disabled\">next »</span>";
        $pagination.= "</div>\n";       
    }
?>
        <table width="100%" border="0" cellspacing="0" cellpadding="5" class="stripeMe">
          <tr>
            <td align="left" width="5%"><strong>#</strong></td>
 
            <td align="left" width="22%" class="table-left2"><strong>Name</strong></td>
            <td align="left" width="16%" class="table-left2"><strong>State</strong></td>
            <td align="left" width="36%" class="table-left2"><strong>Email</strong></td>
            <td align="left" width="11%" class="table-left2"><strong>Reg. Date</strong></td>
            <td align="left" width="10%" class="table-left2"><strong>Time</strong></td>
          </tr>
    <?php
$count = 1;
        while($rows = mysql_fetch_array($sql));
        {
$fname=$rows[fname];
$lname=$rows[lname];
$state=$rows[state];
$email=$rows[email];
$regdate=$rows[regdate];
$regtime=$rows[regtime];
?>
<tr>
            <td align="left"><? echo $count++; ?></td>
            <td align="left" class="table-left2"><? echo $fname." "." ".$lname; ?></td>
            <td align="left" class="table-left2"><? echo $state; ?></td>
            <td align="left" class="table-left2"><? echo $email; ?></td>
            <td align="left" class="table-left2"><? echo $regdate; ?></td>
            <td align="left" class="table-left2"><? echo $regtime; ?></td>
          </tr>
<?php
        }
    ?>
</table>
 
        <div align="center">
          <?=$pagination?>
          </p>
        </div>

Re: what's wrong with my pagination?

Posted: Mon Mar 22, 2010 10:57 am
by Grizzzzzzzzzz
instead of all those occurances where your php script tags are "<? ?>" eg:

<? echo $regdate; ?>

try

<?php echo $regdate; ?>