2017-03-09 42 views
0

我打算將我的搜索記錄分爲16個記錄,所以我需要分頁到4個頁面,每個頁面包含4個記錄,這裏我寫了代碼,但是在我的代碼當我點擊提交按鈕第4條記錄將顯示,當我點擊下一步按鈕不會顯示任何信息後,可以ü請幫我糾正錯誤,請,謝謝你了... ... book_search.php分頁在SQL和PHP中不起作用

<?php 
include('assets/page_header.php');  
?> 
<!--script type="text/javascript" src="js/page.js"> 
</script>--> 

<div class="container">  
<h1>SEARCHING THE BOOK</h1> 

<form id="search" name="search" action="#" method="post"> 
Search : <input type="text" name="author" id="author"> 

<input id="submit" name="submit" type="submit" value="Submit"> 

<div id="display"> 
</div> 

</form> 
</div> 
</body> 

</html> 

ajax1.php

<?php 
    include('db.php'); 
    $page=""; 
    if(isset($_POST['page'])) 
    { 

    $page=$_POST['page']; 
    echo $page; 
    } 
    else 
    { 
    $page=1; 
    } 
    ?> 
    <input type="hidden" name="page" id="page" value="<?php if(isset($page)) echo $page;?>"> 
    <?php 
    $num_rec_per_page = 5; 
    ?> 
    <div id="navigation"> 

    <?php 
    if(isset($_POST['author'])) 
    {  
     $author=mysql_real_escape_string($_POST['author']); 

     if($author=="") 
     { 
      echo "Please Enter Title or Author or Publisher"; 
     } 
     else 
     {  
      if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; }; 
      $start_from = ($page-1) * $num_rec_per_page; 

      $query1="select * from books where title LIKE '%$author%' OR author LIKE '%$author%' OR publisher LIKE '%$author%' LIMIT $start_from, $num_rec_per_page "; 
      echo $query1; 
      $rs_result=mysql_query("select * from books where title LIKE '%$author%' OR author LIKE '%$author%' OR publisher LIKE '%$author%'");  

      $total_records = mysql_num_rows($rs_result); 
      echo $total_records;//count number of records 
      $total_pages = ceil($total_records/$num_rec_per_page); 

      if($page>1) 
      { 
      $pagenumber=$page-1; 
      $prev="<a href=\"book_search.php?page=$pagenumber\">[Back]</a>"; 
      $first="<a href=\"book_search.php?page=1\">[FirstPage]</a>"; 
      } 
      else 
      { 
      $prev=''; 
      $first=''; 
      } 
      if($page<$total_pages) 
      { 
      $pagenumber=$page+1; 
      $next="<a id='pagin' href=\"book_search.php?page=$pagenumber\" >[Next]</a>"; 
      $last="<a id='pagin' href=\"book_search.php?page=$total_pages\">[LastPage]</a>"; 
      } 
      else 
      { 

      $next=""; 
      $last=""; 

      } 

      echo $first.$prev."Showing page<bold>$page</bold>of<bold>$total_pages</bold>pages".$next.$last;   

      $result1=mysql_query($query1) or die(mysql_error());   
      $count=mysql_num_rows($result1); 

      $display= "<table align='center'>"; 
      $display.= "<tr><td>title</td> <td>author</td> <td>publisher</td> <td>numcopies</td> <td>status</td> <td>number_of_copies_available</td> <td>Action</td> </tr>"; 
      while($row=mysql_fetch_array($result1)){ 
       $count=mysql_num_rows($result1); 

       $r12=$row['bookid']; 
       $query2=mysql_query("select bookid from bookrentalinfo where bookid=$r12"); 
       $num_copies_borrowed=mysql_num_rows($query2); 
       $num_copies_count=$row['numcopies']; 
       $number_of_copies_available=$num_copies_count-$num_copies_borrowed; 
       $display.= "<tr>"; 
       $display.="<td>".$row['title']."</td>"; 
       $display.= "<td>".$row['author']."</td>"; 
       $display.= "<td>".$row['publisher']."</td>"; 
       $display.= "<td>".$row['numcopies']."</td>";   
       $display.= "<td>".$row['status']."</td>"; 
       $display.= "<td>".$number_of_copies_available."</td>"; 
       if($number_of_copies_available>0) 
       { 
        $display.= "<td><a href='borrow_search.php?book_id=".$row['bookid']."'>Rent</a></td>";  
       } 
       else { 
        $display.= "rent link is not activated"; 
        $display.="<td></td>";  
       } 

       $display.= "</tr>"; 
      } 
      $display.="</table>"; 
      echo $display; 

     } 
    } 
    ?> 
    </div> 

     <script type="text/javascript"> 
     $(document).ready(function(){ 
     $("#pagin").click(function(e) { 

     alert("clicked"); 
     var author=$("#author").val(); 
     var page=$("#page").val(); 
     $.ajax({ 
       type: "POST", 
       url: "db/ajax1.php", 
       data: {'author':author,'page':page}, 
       cache: false, 
       success: function(result){ 

       //alert("submitted"+result); 

       $('#display').html(result);  
       }, 
       error: function (xhr, ajaxOptions, thrownError) { 
         alert(xhr.status); 
         alert(thrownError); 
       } 
       }); 
      }); 
      e.preventDefault(); 
      }); 
    </script> 

得離譜pt.js

$(document).ready(function(){ 
    $("#submit").click(function(e){  

    var author = $("#author").val(); 
    var dataString='author='+author; 
      if(author=='') 
     { 
     alert("Please Enter Author or Title or Publisher Fields"); 
     } 
     else 
     { 
      // AJAX Code To Submit Form. 
      $.ajax({ 
      type: "POST", 
      url: "db/ajax1.php", 
      data: dataString, 
      cache: false, 
      success: function(result){ 

      //alert("submitted"+result); 

      $('#display').html(result);   
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
        alert(xhr.status); 
        alert(thrownError); 
      } 
      }); 
     } 
     e.preventDefault(); 
     }); 
}); 
+0

如果您正在使用分頁想着datadisplay爲什麼不使用https://datatables.net/其易於使用,看到分頁的服務器端的例子。 –

+0

先生我的問題是結果沒有顯示,當我點擊下一步,可以請你找到代碼,我已經出錯 –

回答

0

您的查詢已回顯,但未正確使用。第二個查詢不包含偏移量和限制。

$query1="select * from books where title LIKE '%$author%' OR author LIKE '%$author%' OR publisher LIKE '%$author%' LIMIT $start_from, $num_rec_per_page "; 
     echo $query1; 
     $rs_result=mysql_query("select * from books where title LIKE '%$author%' OR author LIKE '%$author%' OR publisher LIKE '%$author%'"); 

嘗試:

$query1="select * from books where title LIKE '%$author%' OR author LIKE '%$author%' OR publisher LIKE '%$author%' LIMIT $start_from, $num_rec_per_page "; 
     echo $query1; 
     $rs_result=mysql_query($query1); 
+0

沒有先生我沒有使用限制在第二個查詢,因爲第二個查詢是用於計算總記錄在搜索結果 –