2013-02-12 65 views
1

即時通訊最近做我的項目關於分頁,但問題是當我點擊「搜索」按鈕的第一頁中的數據將出現,但第二頁是空白的,當我回到第一頁,頁面是完全空白的。這裏是代碼。謝謝!分頁沒有結果顯示在下一頁

<form method="post"> 
<div><table> 
        <td><b>Select Section:</b></td> 
        <td><select name="level"> 
             <option value="Nursery">Nursery</option> 
             <option value="K-1">K-1</option> 
             <option value="K-2">K-2</option> 
             <option value="Grade 1">Grade 1</option> 
             <option value="Grade 2">Grade 2</option> 
             <option value="Grade 3">Grade 3</option> 
             <option value="Grade 4">Grade 4</option> 
             <option value="Grade 5">Grade 5</option> 
             <option value="Grade 6">Grade 6</option> 
             <option value="please_select" selected="selected" id="ps">Please Select</option> 
             </select></td> 


        <td><input type='image' name='submit' src='images/search1.jpg' id='img11' value='Search'/></td> 
        <span class='label'>&nbsp;</span> 
    </tr>    
    </table></div> 

<CENTER><table class="table1" border = "1" cellspacing="0" cellpadding="9"> 
<tr class="tr1"> 
    <th class="th1">Student Name</th> 
    <th class="th1">Year Level</th> 
</tr> 

<?php 
    if (!isset($_POST['level'])) 
    { 
    $_POST['level'] = "undefine"; 
    } 
    $level = $_POST['level']; 

    @$page = (int) $_GET['page']; 
    if ($page < 1) $page = 1; 
    $numPages = 6; 
    $resultsPerPage = 5; 
    $startResults = ($page - 1) * $resultsPerPage; 
    $numberOfRows = mysql_num_rows(mysql_query('SELECT * FROM students'))or die(mysql_error()); 
    $totalPages = ceil($numberOfRows/$resultsPerPage); 

    $id=1; 

    $sql="SELECT * FROM students where level = '$level' LIMIT $startResults, $resultsPerPage" or die(mysql_error()); 
    $result=mysql_query($sql); 
    while ($row = mysql_fetch_assoc($result)){ 
    if($level == ""){ 
    echo "<script>alert(\"Please Enter Year Level!\");</script>"; 
    return 'student_list'; 
    } 
    else{ 
    echo "<tr class='tr1'>"; 
    echo "<center>"; 
      echo "<td class='1'>" . $row['surname'] .", " .$row['firstname']." ". $row['middlename']. "</td>"; 
      echo "<td class='1'>". $row['level'] . "</td>"; 
    echo "</center>"; 
    echo "</tr>"; 
    } 
    } 
    $id++; 
    $boundaryPages = floor($numPages/2); 
    $range = array('start' => 1, 'end' => $totalPages); 
    $even = ($numPages % 2 == 0); 
    $theEnd = $totalPages - $boundaryPages; 

    if($even) $theEnd++; 

    if($totalPages > $numPages) 
    { 
     if($page <= $boundaryPages) 
      $range['end'] = $numPages; 
     elseif ($page >= $theEnd) 
      $range['start'] = $totalPages - $numPages + 1; 
     else 
     { 
      $range['start'] = $page - $boundaryPages; 
      $range['end'] = $page + $boundaryPages; 
      if($even) $range['end']--; 
     } 
    } 
    if($page > 1) 
     echo '<a href="?page='.($page - 1).'">&laquo;</a>&nbsp'; 

     for ($i = $range['start']; $i <= $range['end']; $i++) 
     { 
      if($i == $page) 
       echo '<strong>'.$i.'</strong>&nbsp;'; 
      else 
       echo '<a href="?page='.$i.'">'.$i.'</a>&nbsp;'; 
     } 
    if ($page < $totalPages) 
     echo '<a href="?page='.($page + 1).'">&raquo;</a>&nbsp;'; 
+0

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO, [這裏是一個很好的教程](http://www.brightmeup.info/article.php?a_id=2)。 – 2013-02-12 03:33:09

回答

0

如果你想沿着圍繞搜索參數數據隨身攜帶,你想將其添加到您的分頁鏈接,並與$_GET訪問;或使用sessions。否則,您的應用程序將在以下頁面中丟失關於$_POST數據的所有知識。