[英]Table Data is not showing with Pagination 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 :添加分页。 代码示例摘自此处,显示此行未定义索引的通知。 另外,想要下面的这段代码在性能方面是否安全并且可以吗?
$ 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);
}
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>";
}
您正在绑定结果,但是使用$ row进行显示,则不会,因此请尝试此操作
分页
if(isset($_REQUEST['p'])){
//then all the code for pagination
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.