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: 有了这个代码,它未能加载数据。显示表格,甚至显示行字段但没有数据。
问题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);
}
谢谢你刚才的工作,通知$ page = $ _ REQUEST ['p']; – mimi
显示分页的URL如何通过它 – Exprator
我在localhost上测试它:http://localhost/something/protected_page.php – mimi