2017-06-14 161 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