SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Member winners2's Avatar
    Join Date
    Jul 2012
    Location
    Delhi, India
    Posts
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post Pagination not working when I use Where clause Please help me out.

    PHP Code:
    <?php


        
    /*
            Place code to connect to your DB here.
        */
            // include your code to connect to DB.
    require_once "../conn.php";

    $City $_POST['City'];
    $Area $_POST['Area'];
    $forrent $_POST['forrent'];
    $forsale $_POST['forsale'];
    $PType $_POST['PType'];
            
        
    $tbl_name="PropertyDetail";        //your table name
        // How many adjacent pages should be shown on each side?
        
    $adjacents 3;
        
        
    /* 
           First get total number of rows in data table. 
           If you have a WHERE clause in your query, make sure you mirror it here.
        */
        
    $query1 = ("SELECT COUNT(*) as num FROM $tbl_name WHERE (City = 'DELHI') AND (Area LIKE '%$Area%') AND (forrent LIKE '%$forrent%') AND (forsale LIKE '%$forsale%') AND (PType LIKE '%$PType%') AND (available = '1')");
        
    $total_pages mysql_fetch_array(mysql_query($query1));
        
    $total_pages $total_pages[num];

        
    /* Setup vars for query. */
        
    $targetpage "finalpagination33.php";     //your file name  (the name of this file)
        
    $limit 10;                                 //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. */
        
    $query2 = ("SELECT * FROM $tbl_name WHERE (City = 'DELHI') AND (Area LIKE '%$Area%') AND (forrent LIKE '%$forrent%') AND (forsale LIKE '%$forsale%') AND (PType LIKE '%$PType%') AND (available = '1') ORDER BY Area ASC LIMIT $start$limit");
        
    $result mysql_query($query2);
        




        
    /* 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 + ($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 + ($adjacents 2))    //enough pages to hide some
            
    {
                
    //close to beginning; only hide later pages
                
    if($page + ($adjacents 2))        
                {
                    for (
    $counter 1$counter + ($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 - (+ ($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";        
        }
            
            

            echo 
    "<table border='1'>";

    echo 
    "<tr> <th>PNO</th><th> City</th><th> Area</th><th> PType</th><th> Contact Details</th><th> PAddress</th><th> S/Rent</th><th>EntryDate</th> </tr>";


    while(
    $row mysql_fetch_assoc$result)) {


        
    // Print out the contents of each row into a table
        
    echo "<tr><td>"
        echo 
    $row['PNO'];
        echo 
    "</td><td>"
        echo 
    $row['City'];
        echo 
    "</td><td>";
        echo 
    $row['Area'];
        echo 
    "</td><td>"
        echo 
    $row['PType'];
        echo 
    "</td><td>";
        echo 
    $row['oname'];
        echo 
    "</td><td>"
        echo 
    $row['PAddress'];
        echo 
    "</td><td>";
        if (
    $row['forrent']=="1")
      echo 
    "Rent";
    else
      echo 
    "Sale";
          echo 
    "</td><td>"
        
        
    $EntryDate$row['EntryDate'];
        echo 
    substr_replace("$EntryDate","",10);

        echo 
    "</td></tr>"
        

     } 
    echo 
    "</table>";
    ?>
        <?=$pagination?>
    Last edited by SpacePhoenix; Jul 7, 2012 at 02:59. Reason: placed php tags around php code

  2. #2
    SitePoint Member winners2's Avatar
    Join Date
    Jul 2012
    Location
    Delhi, India
    Posts
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you can find the working code at www.winners2.com/pagination/searchDatabase.php
    On clicking it gives every result ok. But for the next page it shows the whole data out of search criteria.
    I have expended over month to try different things but all in vain. Please help me out and thanx in advance.

    Note: it is working fine without where clause, and be informed that I know little about php programming.


Tags for this Thread

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
  •