表分页,内容未显示在php

时间:2018-10-27 01:23:29

标签: php html mysqli pagination

enter image description here问题是我的表的内容未显示。它正在计数并显示我数据库中的相等行,但未显示任何内容。你能帮我吗?

index.php

<?php  
include('db.php');

$limit = 2;  
if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; };  
$start_from = ($page-1) * $limit;  

$sql = "SELECT * FROM sales_order ORDER BY `so_id` ASC LIMIT $start_from, $limit";  
$rs_result = mysqli_query($conn, $sql);  
?>  
<table class="table table-bordered table-striped">  
<thead>  
<tr>  
<th>title</th>  
<th>body</th>  
</tr>  
<thead>  
<tbody>  
<?php  
while ($row = mysqli_fetch_assoc($rs_result)) {  
?>  
            <tr>  
            <td><? echo $row["so_customer"]; ?></td>  
            <td><? echo $row["so_address"]; ?></td>  
            </tr>  
<?php  
};  
?>  
</tbody>  
</table>  
<?php  
$sql = "SELECT COUNT('so_id') FROM sales_order";  
$rs_result = mysqli_query($conn, $sql);  
$row = mysqli_fetch_row($rs_result);  
$total_records = $row[0];  
$total_pages = ceil($total_records / $limit);  
$pagLink = "<div class='pagination'>";  
for ($i=1; $i<=$total_pages; $i++) {  
             $pagLink .= "<a href='index.php?page=".$i."'>".$i."</a>";  
};  
echo $pagLink . "</div>";  ?>

1 个答案:

答案 0 :(得分:1)

您之前编辑过的问题几乎没有什么错,特别是在this one中,您将单引号从ORDER BY 'so_id'改为使用反引号:

ORDER BY `so_id`

可以在以下参考资料中找到有关所谓的“标识符限定符”的更多信息:

然后谈论<? echo。这些就是所谓的short tags,如果无法使用它们,则需要将它们更改为<?php echo<?=,它们也一样。

然后在COUNT('so_id')中引号。要么将它们删除,要么用反引号替换。

COUNT(`so_id`)

最后;您将在页面加载后立即收到未定义的索引通知:

<td><? echo $row["so_customer"]; ?></td>  
<td><? echo $row["so_address"]; ?></td>  

因此,为避免/纠正这些错误,请用以下内容替换它们:

<td><?php if(isset($row['so_customer'])){ echo $row["so_customer"]; } ?></td>  
<td><?php if(!empty($row['so_address'])){ echo $row["so_address"]; }?></td>  

为PHP启用错误报告并为MySQL启用错误处理在开发/调试过程中会有所帮助。