2017-06-14 118 views
0

來自Here的延續問題與分頁。表格數據未顯示分頁PHP

用於在mysql表中顯示數據的基本代碼。

$stmt = $mysqli->prepare('SELECT accountno,accountname,cname,revenue,status FROM ***** WHERE user_id = ? '); 
    $stmt->bind_param('i', $user_id); 
    $stmt->bind_result($accountno ,$accountname, $cname, $revenue,$status); 
    $stmt->execute(); // Execute the prepared query. 
    echo "<table border='1'> 
     <tr> 
     <th>Account No</th> 
     <th>Account Name</th> 
     <th>Company Name</th> 
     <th>Revenue</th> 
     <th>Status</th> 
     </tr>"; 

     while($row = $stmt->fetch()) { 

     echo "<tr>"; 
     echo "<td>" . $row['accountno'] . "</td>"; 
     echo "<td>" . $row['accountname'] . "</td>"; 
     echo "<td>" . $row['cname'] . "</td>"; 
     echo "<td>" . $row['revenue'] . "</td>"; 
     echo "<td>" . $row['status'] . "</td>"; 
     echo "</tr>"; 
     } 
     $stmt->close(); 
     echo "</table>"; 

問題1: 有了這個代碼,它未能加載數據。顯示錶格,甚至顯示行字段但沒有數據。 enter image description here

問題2:添加分頁。代碼示例取自here 顯示此行未定義索引的通知。另外,想要下面的代碼在性能的情況下是安全的嗎?

$ page = $ _ REQUEST ['p'];

這裏是分頁部分:

<?php 
     //------------ 
     $page=$_REQUEST['p']; 
     $limit=10; 
     if($page=='') 
    { 
    $page=1; 
    $start=0; 
    } 
else 
    { 
    $start=$limit*($page-1); 
    } 

    $total=$stmt->num_rows; 
    $num_page=ceil($total/$limit); 

    function pagination($page,$num_page) 
    { 
    echo'<ul style="list-style-type:none;">'; 
    for($i=1;$i<=$num_page;$i++) 
{ 
     if($i==$page) 
    { 
    echo'<li style="float:left;padding:5px;">'.$i.'</li>'; 
    } 
    else 
    { 
     echo'<li style="float:left;padding:5px;"><a href="protected_page.php? 
     p='.$i.'">'.$i.'</a></li>'; 
     } 
      } 
    echo'</ul>'; 
    } 
    if($num_page>1) 
     { 
     pagination($page,$num_page); 
     } 

回答

2
while($stmt->fetch()) { 

     echo "<tr>"; 
     echo "<td>" . $accountno . "</td>"; 
     echo "<td>" . $accountname . "</td>"; 
     echo "<td>" . $cname . "</td>"; 
     echo "<td>" . $revenue . "</td>"; 
     echo "<td>" . $status . "</td>"; 
     echo "</tr>"; 
     } 

你要綁定的結果,但使用$行顯示,它不會,那麼試試這個

爲分頁

if(isset($_REQUEST['p'])){ 
//then all the code for pagination 
} 
+0

謝謝你剛纔的工作,通知$ page = $ _ REQUEST ['p']; – mimi

+1

顯示分頁的URL如何通過它 – Exprator

+0

我在localhost上測試它:http://localhost/something/protected_pa​​ge.php – mimi