2013-03-13 55 views
0

如何分頁php mysql中的過濾結果?如何分頁在php mysql中過濾的結果?

我的分頁只顯示存儲在數據庫中的所有文件,但是當我想搜索所有采訪記錄時,它會顯示所有采訪過的文件,然後在第二頁中顯示過濾結果。

我的問題是當我點擊分頁時,第二頁將再次檢索存儲在數據庫中的所有文件。我想第二頁是過濾結果。

`<?php 
    include 'functions.php'; 
    ob_start(); 

    if(!loggedin()) 
    { header("Location:login.php"); 
    exit(); 
    } 

    if(isset($_POST['edit'])) 
    { 

    $_SESSION['id']=$_POST['id']; 
    header("Location:edit.php"); 
    } 

    if(isset($_POST['BOOK'])) 
     { 
    $_SESSION['id']=$_POST['id']; 
    header("Location:booking_edit.php");} 


     if($_POST['types'] == 'name' || $_POST['types'] == 'mobile' || $_POST['types'] ==  'OccasionType') 
    { 
    $_SESSION['filter']=$_POST['filter']; 
    } 

    ?> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> 
    <title>Manorama Party Plot</title> 
     <link href="css/style.css" rel="stylesheet" type="text/css"> 
    <link rel="stylesheet" type="text/css" href="css/flexigrid.css" media="all" /> 

    <script type="text/javascript" src="js/prototype.js"></script> 
     <script type="text/javascript" src="js/jquery.min.js"></script> 

     <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js">   </script> 

     <script type="text/javascript"> 
    $(function(){ 

    // Datepicker 
     $('#From,#To').datepicker({ 
    inline: true 
    }); 

       //hover states on the static widgets 
       $('#dialog_link, ul#icons li').hover(
        function() { $(this).addClass('ui-state-hover'); }, 
        function() { $(this).removeClass('ui-state-hover'); } 
       ); 

      }); 
     </script>   
     <script type="text/javascript">  
     $(document).ready(function() {  
     $('#types').change(function(){  
     if($('#types').val() === 'InquiryDate' || $('#types').val() === 'OccasionDate')  
    {  
    $('#From').show(); 
     $('#To').show(); 
     $('#filter').hide();  
    }  
     else  
    { 
    $('#filter').show();   
    $('#From').hide(); 
    $('#To').hide();   
    }  
     });  
    });  
     </script> 


     <script type="text/javascript" src="js/flexigrid.js"></script> 


    </head> 
    <body> 



     <div class="wrapper filter_wrapper"> 
    <div id="header"> 
     <?php include 'header.php'; ?> 
    </div> 
    <div id="content"></div></div> 
    <div class="fillter_con"> 
    <div class="flexigrid fillter"> 
      <div class="pDiv"> 
       <div class="pDiv2 axport"> 
       <h2>Filter :</h2> 



     <form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' name='form_filter'> 
     <select class="filter_select" id="types" name="types"> 
       <option value="none">none</option> 
        <option value="name">name</option> 
        <option value="mobile">mobile</option> 
        <option value="OccasionType">OccasionType</option> 
        <option value="InquiryDate">InquiryDate</option> 
        <option value="OccasionDate">OccasionDate</option> 
      </select> 
       <input class="filter_input" name="filter" id="filter" type="text" > 
      <input type="text" class="filter_input" id="From" name="From" style="display: none;" va lue="From" onblur="this.value==''?this.value='From':this.value=this.value" onfocus="this.value=='From'?this.value='':this.value=this.value" /> 
      <input type="text" class="filter_input" id="To" name="To" style="display: none;" value="To" onblur="this.value==''?this.value='To':this.value=this.value" onfocus="this.value=='To'?this.value='':this.value=this.value" /> 
        <input class="filter_button" type='submit' value = 'Go'> 
       </form> 
       </div> 
      </div> 
     </div> 

     <?php 

     $tbl_name="visitor_detail"; $adjacents = 3; 

    if($_POST['types'] == 'name') { 
    $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE name='".$_SESSION['filter']."' ORDER BY id DESC"; 
    } 
     elseif($_POST['types'] == 'mobile') { 
     $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE mobile='".$_SESSION['filter']."' ORDER BY id DESC"; 
    } 
     elseif($_POST['types'] == 'OccasionType') { 
    $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE OccasionType='".$_SESSION['filter']."' ORDER BY id DESC"; 
    } 

     elseif($_POST['types'] == 'InquiryDate') { 
     $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE TodayDate between '".$_POST['From']."' and '".$_POST['To']."' ORDER BY id DESC"; 
     } 

     elseif($_POST['types'] == 'OccasionDate') { 
     $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE date between '".$_POST['From']."' and '".$_POST['To']."' ORDER BY id DESC"; 
     } 

    else { 
     $query = "SELECT COUNT(*) as num FROM $tbl_name ORDER BY id DESC"; 
    } 

    $total_pages = mysql_fetch_array(mysql_query($query)); 
    $total_pages = $total_pages['num']; 

    /* Setup vars for query. */ 
    $targetpage = "all_inquiry.php"; //your file name (the name of this file) 
    $limit = 10; 

    $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 



    if($_POST['types'] == 'name') { 

     $que = "SELECT * FROM visitor_detail WHERE name='".$_SESSION['filter']."' ORDER BY id DESC LIMIT $start, $limit"; 
     } 
     elseif($_POST['types'] == 'mobile') { 

     $que = "SELECT * FROM visitor_detail WHERE mobile='".$_SESSION['filter']."' ORDER BY id DESC LIMIT $start, $limit "; 
     } 
     elseif($_POST['types'] == 'OccasionType') { 

     $que = "SELECT * FROM visitor_detail WHERE OccasionType='".$_SESSION['filter']."' ORDER BY id DESC LIMIT $start, $limit"; 
     } 

     elseif($_POST['types'] == 'InquiryDate') { 
     $que="SELECT * FROM visitor_detail WHERE TodayDate between '".$_POST['From']."' and '".$_POST['To']."' ORDER BY id DESC LIMIT $start, $limit" ; 
    } 

     elseif($_POST['types'] == 'OccasionDate') { 
     $que="SELECT * FROM visitor_detail WHERE date between '".$_POST['From']."' and '".$_POST['To']."' ORDER BY id DESC LIMIT $start, $limit" ; 
    } 

     else { 
     $que = "SELECT * FROM visitor_detail ORDER BY id DESC LIMIT $start, $limit"; 
    } 

     $sql = mysql_query($que); 


    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\"><div class=\"pPrev pButton pGroup\"> 
       <span></span> 
       </div></a><div class=\"btnseparator\"></div>"; 

     else 
      $pagination.= "<div class=\"pPrev pButton pGroup\"> 
       <span></span> 
       </div><div class=\"btnseparator\"></div>"; 

     //pages 
     if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up 
     { 
      for ($counter = 1; $counter <= $lastpage; $counter++) 
      { 
       if ($counter == $page) 
        $pagination.= "<div class=\"pGroup\">$counter</div>"; 
       else 
        $pagination.= "<a href=\"$targetpage? page=$counter\"><div class=\"pGroup\">$counter</div></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.= "<div class=\"pGroup\">$counter</div>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\"><div class=\"pGroup\">$counter</div></a>";     
       } 
       $pagination.= "<div class=\"pGroup\">...</div>"; 
       $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage? page=$lpm1\">$lpm1</a></div>"; 
       $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage? page=$lastpage\">$lastpage</a></div>";  
      } 
      //in middle; hide some front and some back 
      elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) 
      { 
       $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage? page=1\">1</a></div>"; 
       $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage?page=2\">2</a></div>"; 
       $pagination.= "<div class=\"pGroup\">...</div>"; 
       for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) 
       { 
        if ($counter == $page) 
         $pagination.= " <div class=\"pGroup\">$counter</div>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\"><div class=\"pGroup\">$counter</div></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.= "<div class=\"pGroup\">...</div>"; 
       for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) 
       { 
        if ($counter == $page) 
         $pagination.= "<div class=\"pGroup\">$counter</div>"; 
        else 
         $pagination.= "<a href=\"$targetpage? page=$counter\"><div class=\"pGroup\">$counter</div></a>";      
       } 
      } 
     } 

     //next button 
     if ($page < $counter - 1) 
      $pagination.= "<a href=\"$targetpage?page=$next\"><div class=\"pNext pButton pGroup\"> 
        </div></a><div class=\"btnseparator\"></div>"; 
     else 
      $pagination.= "<div class=\"pNext pButton pGroup\"></div><div class=\"btnseparator\"></div>"; 
     $pagination.= "</div>\n";  
    } 
     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\"><div class=\"pPrev pButton pGroup\"> 
       <span></span> 
       </div></a><div class=\"btnseparator\"></div>"; 

     else 
      $pagination.= "<div class=\"pPrev pButton pGroup\"> 
       <span></span> 
       </div><div class=\"btnseparator\"></div>"; 

     //pages 
     if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up 
     { 
      for ($counter = 1; $counter <= $lastpage; $counter++) 
      { 
       if ($counter == $page) 
        $pagination.= "<div class=\"pGroup\">$counter</div>"; 
       else 
        $pagination.= "<a href=\"$targetpage?page=$counter\"><div class=\"pGroup\">$counter</div></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.= "<div class=\"pGroup\">$counter</div>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\"><div class=\"pGroup\">$counter</div></a>";     
       } 
       $pagination.= "..."; 
       $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>"; 
       $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a><div class=\"btnseparator\"></div>";  
      } 
      //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.= " <div class=\"pGroup\">$counter</div>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\"><div class=\"pGroup\">$counter</div></a>";     
       } 
       $pagination.= "..."; 
       $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>"; 
       $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a><div class=\"btnseparator\"></div>";  
      } 
      //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.= "<div class=\"pGroup\">$counter</div>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\"><div class=\"pGroup\">$counter</div></a>";     
       } 
      } 
     } 

     //next button 
     if ($page < $counter - 1) 
      $pagination.= "<a href=\"$targetpage?page=$next\"><div class=\"pNext pButton pGroup\"> 
        </div></a><div class=\"btnseparator\"></div>"; 
     else 
      $pagination.= "<div class=\"pNext pButton pGroup\"></div><div class=\"btnseparator\"></div>"; 
     $pagination.= "</div>\n";  
    }?> 

    <div id="flexme1"><table> 
      <thead> 
        <tr> 

        <th width="100"><strong>Name</strong></th> 
        <th width="90"><strong>Mobile</strong></th> 
        <th width="75"><strong>Occasion Type</strong></th> 
        <th width="80"><strong>Occasion Date</strong></th> 
        <th width="70"><strong>Approx Gust</strong></th> 
        <th width="150"><strong>Description</strong></th> 
        <th width="150"><strong>Address</strong></th> 
        <th width="120"><strong>Email</strong></th> 
        <th width="75"><strong>Other Contact</strong></th> 

        <th width="70"><strong>Enquiry Date</strong></th> 
        <th width="80"><strong>Author</strong></th> 
        <th width="100"><strong>Action</strong></th> 

       </tr> 
      </thead></table> 


      <?php while($data = mysql_fetch_array($sql)){?> 

    <form name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 

      <table border="0" cellspacing="0" cellpadding="0" > 
      <tbody> 

       <tr> <input name="id" type="hidden" value="<?php echo $data['0']; ?>" > 
        <td><?php echo $data['2']; ?></td> 
        <td><?php echo $data['3']; ?></td> 
        <td><?php echo $data['8']; ?></td> 
        <td><?php echo $data['9']; ?></td>   
        <td><?php echo $data['10']; ?></td> 
        <td><?php echo $data['11']; ?></td> 
        <td><?php echo $data['4']; ?></td> 
        <td><?php echo $data['5']; ?></td> 
        <td><?php echo $data['6']; ?></td> 
        <td><?php echo $data['12']; ?></td> 
        <td><?php echo $data['13']; ?></td> 
        <td><input name="edit" type="submit" value="Edit"> 
        <input name="BOOK" type="submit" value="Book" style="color:#d90f0f"> 

        </td> 
        </tr> 



      </tbody> 
      </table> 
      </form> 
      <?php } ?></div> 


      <div class="flexigrid"> 
      <div class="pDiv"> 
      <div class="pDiv2"> 


       <div class="pGroup"> 
       <select name="rp" id="rp" > 
       <option value="10">10&nbsp;&nbsp;</option> 
       <option value="15">15&nbsp;&nbsp;</option> 
       <option value="20">20&nbsp;&nbsp;</option> 
       <option value="30">30&nbsp;&nbsp;</option> 
       <option value="50">50&nbsp;&nbsp;</option> 
       </select> 
       </div> 
       <div class="btnseparator"></div> 
       <?=$pagination?> 


         <div class="axport"> 
         <h2>Export</h2> 
         <div class="pGroup"> 
          <div class="pdf_button pButton">PDF</div> 
         </div> 
         <div class="btnseparator"></div> 
         <div class="pGroup"> 
     <?php 
     $types = $_POST['types']; 
     $filter = $_POST['filter']; 
     $from = $_POST['From']; 
     $to = $_POST['To']; 
     ?> 
          <div class="excel_button pButton"> 
          <form action="excel.php" method="POST"> 
          <input name="types" type="hidden"  value="<?php echo $types;?>"> 
          <input name="filter" type="hidden" value="<?php echo $filter;?>"> 
          <input name="from" type="hidden" value="<?php echo $from;?>"> 
          <input name="to" type="hidden" value="<?php echo $to;?>">       
          <input type="submit" value="Excel"> 
          </form> 
          </div> 
         </div> 
         </div> 
          </div> 
          </div> 
          </div> 




     <script type="text/javascript"> 
     //<![CDATA[ 
     jQuery(document).ready(function($) { 
      $('#flexme1').flexigrid(); 
     }); 
     //]]> 
     </script> 
     </div> 
     </div> 
     <div id="footer"> 
     <p>Copyright © <span><a href="#">Aum Digital Marketing</a></span> , All rights reserved</p> 
    </div> 
    </body> 
    </html>` 
+0

爲什麼你不能只使用相同的查詢並添加「LIMIT 11,20」? – Peon 2013-03-13 09:05:06

+0

當你點擊分頁鏈接,你需要再次發送搜索參數..連同頁碼..你是否這樣做,你可以請張貼您的代碼的相關部分..? – alwaysLearn 2013-03-13 09:05:49

+0

@new_developer乾草我已發佈我的代碼在這裏...希望你可以給我更新問候我的問題.. – 2013-03-13 09:35:24

回答

0

更新的代碼

`<?php 
          include 'functions.php'; 
          ob_start(); 

          if(!loggedin()) 
          { header("Location:login.php"); 
          exit(); 
          } 

          if(isset($_REQUEST['edit'])) 
          { 

          $_SESSION['id']=$_REQUEST['id']; 
          header("Location:edit.php"); 
          } 

          if(isset($_REQUEST['BOOK'])) 
           { 
          $_SESSION['id']=$_REQUEST['id']; 
          header("Location:booking_edit.php");} 


           if($_REQUEST['types'] == 'name' || $_REQUEST['types'] == 'mobile' || $_REQUEST['types'] ==  'OccasionType') 
          { 
          $_SESSION['filter']=$_REQUEST['filter']; 
          } 

          ?> 
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
          <html> 
          <head> 
          <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> 
          <title>Manorama Party Plot</title> 
          <link href="css/style.css" rel="stylesheet" type="text/css"> 
          <link rel="stylesheet" type="text/css" href="css/flexigrid.css" media="all" /> 

          <script type="text/javascript" src="js/prototype.js"></script> 
           <script type="text/javascript" src="js/jquery.min.js"></script> 

           <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js">   </script> 

           <script type="text/javascript"> 
          $(function(){ 

          // Datepicker 
           $('#From,#To').datepicker({ 
          inline: true 
          }); 

             //hover states on the static widgets 
             $('#dialog_link, ul#icons li').hover(
              function() { $(this).addClass('ui-state-hover'); }, 
              function() { $(this).removeClass('ui-state-hover'); } 
             ); 

            }); 
           </script>   
           <script type="text/javascript">  
           $(document).ready(function() {  
           $('#types').change(function(){  
          if($('#types').val() === 'InquiryDate' || $('#types').val() === 'OccasionDate')  
          {  
          $('#From').show(); 
          $('#To').show(); 
          $('#filter').hide();  
          }  
          else  
          { 
          $('#filter').show();   
          $('#From').hide(); 
          $('#To').hide();   
          }  
          });  
          });  
          </script> 


          <script type="text/javascript" src="js/flexigrid.js"></script> 


          </head> 
          <body> 



          <div class="wrapper filter_wrapper"> 
          <div id="header"> 
           <?php include 'header.php'; ?> 
          </div> 
          <div id="content"></div></div> 
          <div class="fillter_con"> 
          <div class="flexigrid fillter"> 
            <div class="pDiv"> 
             <div class="pDiv2 axport"> 
             <h2>Filter :</h2> 



           <form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' name='form_filter'> 
           <select class="filter_select" id="types" name="types"> 
             <option value="none">none</option> 
              <option value="name">name</option> 
              <option value="mobile">mobile</option> 
              <option value="OccasionType">OccasionType</option> 
              <option value="InquiryDate">InquiryDate</option> 
              <option value="OccasionDate">OccasionDate</option> 
            </select> 
            <input class="filter_input" name="filter" id="filter" type="text" > 
           <input type="text" class="filter_input" id="From" name="From" style="display: none;" va lue="From" onblur="this.value==''?this.value='From':this.value=this.value" onfocus="this.value=='From'?this.value='':this.value=this.value" /> 
           <input type="text" class="filter_input" id="To" name="To" style="display: none;" value="To" onblur="this.value==''?this.value='To':this.value=this.value" onfocus="this.value=='To'?this.value='':this.value=this.value" /> 
             <input class="filter_button" type='submit' value = 'Go'> 
             </form> 
             </div> 
            </div> 
           </div> 

           <?php 

           $tbl_name="visitor_detail"; $adjacents = 3; 

          if($_REQUEST['types'] == 'name') { 
          $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE name='".$_SESSION['filter']."' ORDER BY id DESC"; 
          } 
           elseif($_REQUEST['types'] == 'mobile') { 
          $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE mobile='".$_SESSION['filter']."' ORDER BY id DESC"; 
          } 
           elseif($_REQUEST['types'] == 'OccasionType') { 
          $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE OccasionType='".$_SESSION['filter']."' ORDER BY id DESC"; 
          } 

           elseif($_REQUEST['types'] == 'InquiryDate') { 
           $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE TodayDate between '".$_REQUEST['From']."' and '".$_REQUEST['To']."' ORDER BY id DESC"; 
           } 

           elseif($_REQUEST['types'] == 'OccasionDate') { 
           $query = "SELECT COUNT(*) as num FROM $tbl_name WHERE date between '".$_REQUEST['From']."' and '".$_REQUEST['To']."' ORDER BY id DESC"; 
           } 

          else { 
           $query = "SELECT COUNT(*) as num FROM $tbl_name ORDER BY id DESC"; 
          } 

          $total_pages = mysql_fetch_array(mysql_query($query)); 
          $total_pages = $total_pages['num']; 

          /* Setup vars for query. */ 
          $targetpage = "all_inquiry.php"; //your file name (the name of this file) 
          $limit = 10; 

          $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 



          if($_REQUEST['types'] == 'name') { 

          $que = "SELECT * FROM visitor_detail WHERE name='".$_SESSION['filter']."' ORDER BY id DESC LIMIT $start, $limit"; 
           } 
          elseif($_REQUEST['types'] == 'mobile') { 

           $que = "SELECT * FROM visitor_detail WHERE mobile='".$_SESSION['filter']."' ORDER BY id DESC LIMIT $start, $limit "; 
          } 
           elseif($_REQUEST['types'] == 'OccasionType') { 

          $que = "SELECT * FROM visitor_detail WHERE OccasionType='".$_SESSION['filter']."' ORDER BY id DESC LIMIT $start, $limit"; 
           } 

          elseif($_REQUEST['types'] == 'InquiryDate') { 
          $que="SELECT * FROM visitor_detail WHERE TodayDate between '".$_REQUEST['From']."' and '".$_REQUEST['To']."' ORDER BY id DESC LIMIT $start, $limit" ; 
          } 

           elseif($_REQUEST['types'] == 'OccasionDate') { 
          $que="SELECT * FROM visitor_detail WHERE date between '".$_REQUEST['From']."' and '".$_REQUEST['To']."' ORDER BY id DESC LIMIT $start, $limit" ; 
          } 

           else { 
           $que = "SELECT * FROM visitor_detail ORDER BY id DESC LIMIT $start, $limit"; 
          } 

          $sql = mysql_query($que); 

          if(isset($_REQUEST)) 
          { 
           unset($_REQUEST['page']); 
           $queryString = http_build_query($_REQUEST); 
          } 

          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&$queryString\"><div class=\"pPrev pButton pGroup\"> 
             <span></span> 
             </div></a><div class=\"btnseparator\"></div>"; 

           else 
            $pagination.= "<div class=\"pPrev pButton pGroup\"> 
             <span></span> 
             </div><div class=\"btnseparator\"></div>"; 

           //pages 
           if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up 
           { 
            for ($counter = 1; $counter <= $lastpage; $counter++) 
            { 
             if ($counter == $page) 
              $pagination.= "<div class=\"pGroup\">$counter</div>"; 
             else 
              $pagination.= "<a href=\"$targetpage? page=$counter&$queryString\"><div class=\"pGroup\">$counter</div></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.= "<div class=\"pGroup\">$counter</div>"; 
              else 
               $pagination.= "<a href=\"$targetpage?page=$counter\"><div class=\"pGroup\">$counter</div></a>";     
             } 
             $pagination.= "<div class=\"pGroup\">...</div>"; 
             $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage? page=$lpm1&$queryString\">$lpm1</a></div>"; 
             $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage? page=$lastpage&$queryString\">$lastpage</a></div>";  
            } 
            //in middle; hide some front and some back 
            elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) 
            { 
             $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage? page=1&$queryString\">1</a></div>"; 
             $pagination.= "<div class=\"pGroup\"><a href=\"$targetpage?page=2&$queryString\">2</a></div>"; 
             $pagination.= "<div class=\"pGroup\">...</div>"; 
             for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) 
             { 
              if ($counter == $page) 
               $pagination.= " <div class=\"pGroup\">$counter</div>"; 
              else 
               $pagination.= "<a href=\"$targetpage?page=$counter&$queryString\"><div class=\"pGroup\">$counter</div></a>";     
             } 
             $pagination.= "..."; 
             $pagination.= "<a href=\"$targetpage?page=$lpm1&$queryString\">$lpm1</a>"; 
             $pagination.= "<a href=\"$targetpage?page=$lastpage&$queryString\">$lastpage</a>";  
            } 
            //close to end; only hide early pages 
            else 
            { 
             $pagination.= "<a href=\"$targetpage?page=1&$queryString\">1</a>"; 
             $pagination.= "<a href=\"$targetpage?page=2&$queryString\">2</a>"; 
             $pagination.= "<div class=\"pGroup\">...</div>"; 
             for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) 
             { 
              if ($counter == $page) 
               $pagination.= "<div class=\"pGroup\">$counter</div>"; 
              else 
               $pagination.= "<a href=\"$targetpage? page=$counter&$queryString\"><div class=\"pGroup\">$counter</div></a>";      
             } 
            } 
           } 

           //next button 
           if ($page < $counter - 1) 
            $pagination.= "<a href=\"$targetpage?page=$next\&$queryString"><div class=\"pNext pButton pGroup\"> 
              </div></a><div class=\"btnseparator\"></div>"; 
           else 
            $pagination.= "<div class=\"pNext pButton pGroup\"></div><div class=\"btnseparator\"></div>"; 
           $pagination.= "</div>\n";  
          } 
           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&$queryString\"><div class=\"pPrev pButton pGroup\"> 
             <span></span> 
             </div></a><div class=\"btnseparator\"></div>"; 

           else 
            $pagination.= "<div class=\"pPrev pButton pGroup\"> 
             <span></span> 
             </div><div class=\"btnseparator\"></div>"; 

           //pages 
           if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up 
           { 
            for ($counter = 1; $counter <= $lastpage; $counter++) 
            { 
             if ($counter == $page) 
              $pagination.= "<div class=\"pGroup\">$counter</div>"; 
             else 
              $pagination.= "<a href=\"$targetpage?page=$counter&$queryString\"><div class=\"pGroup\">$counter</div></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.= "<div class=\"pGroup\">$counter</div>"; 
              else 
               $pagination.= "<a href=\"$targetpage?page=$counter&$queryString\"><div class=\"pGroup\">$counter</div></a>";     
             } 
             $pagination.= "..."; 
             $pagination.= "<a href=\"$targetpage?page=$lpm1&$queryString\">$lpm1</a>"; 
             $pagination.= "<a href=\"$targetpage?page=$lastpage&$queryString\">$lastpage</a><div class=\"btnseparator\"></div>";  
            } 
            //in middle; hide some front and some back 
            elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) 
            { 
             $pagination.= "<a href=\"$targetpage?page=1&$queryString\">1</a>"; 
             $pagination.= "<a href=\"$targetpage?page=2&$queryString\">2</a>"; 
             $pagination.= "..."; 
             for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) 
             { 
              if ($counter == $page) 
               $pagination.= " <div class=\"pGroup\">$counter</div>"; 
              else 
               $pagination.= "<a href=\"$targetpage?page=$counter&$queryString\"><div class=\"pGroup\">$counter</div></a>";     
             } 
             $pagination.= "..."; 
             $pagination.= "<a href=\"$targetpage?page=$lpm1&$queryString\">$lpm1</a>"; 
             $pagination.= "<a href=\"$targetpage?page=$lastpag&$queryStringe\">$lastpage</a><div class=\"btnseparator\"></div>";  
            } 
            //close to end; only hide early pages 
            else 
            { 
             $pagination.= "<a href=\"$targetpage?page=1\">1</a>"; 
             $pagination.= "<a href=\"$targetpage?page=2&$queryString\">2</a>"; 
             $pagination.= "..."; 
             for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) 
             { 
              if ($counter == $page) 
               $pagination.= "<div class=\"pGroup\">$counter</div>"; 
              else 
               $pagination.= "<a href=\"$targetpage?page=$counter&$queryString\"><div class=\"pGroup\">$counter</div></a>";     
             } 
            } 
           } 

           //next button 
           if ($page < $counter - 1) 
            $pagination.= "<a href=\"$targetpage?page=$next&$queryString\"><div class=\"pNext pButton pGroup\"> 
              </div></a><div class=\"btnseparator\"></div>"; 
           else 
            $pagination.= "<div class=\"pNext pButton pGroup\"></div><div class=\"btnseparator\"></div>"; 
           $pagination.= "</div>\n";  
          }?> 

         <div id="flexme1"><table> 
            <thead> 
+0

乾草謝謝@new_developer它的工作完美,因爲我需要... – 2013-03-13 10:20:34

+0

@ user1680044很棒... njoy :) – alwaysLearn 2013-03-13 10:22:12

0

沒有讀的問題,但體內的魔棒,你需要的是所謂的http_build_query()

只是用它來形成分頁鏈接來保存所有的過濾選項