我正在尝试循环行以回显我的结果。因此,我将加入2个数据库表以获取一些结果,特别是来自orders表的型号和型号名称,而其他结果来自order_history表。我正在尝试使行循环,以使其回显在什么时间,由谁以及由谁批准的货物。但是,我似乎得到了无穷无尽的结果循环,请问如何对结果进行循环。这些是我正在使用的表-> orders table和order_history table。谢谢。
[EDIT]:error
<?php
$query = "SELECT * FROM orders o
INNER JOIN order_history oh
ON o.order_id = oh.order_id";
$result = $conn->query($query);
if(!$result) die($conn->error);
$rows = $result->num_rows;
if ($rows > 0) {
?>
<table id="tabledata" class=" table table-striped table-hover table-bordered">
<tr class="bg-dark text-white text-center">
<th> Order ID </th>
<th> Model Number </th>
<th> Model Name </th>
<th> Warehouse A </th>
<th> Storage Room </th>
</tr >
<?php
// output data of each row
while($rows = $result->fetch_assoc()){
?>
<tr>
<?php
for($i=0;$i<count($rows);$i++){
?>
<td> <?php echo $rows['order_id']; ?> </td>
<td> <?php echo $rows['model_number']; ?> </td>
<td> <?php echo $rows['model_name']; ?> </td>
<td>
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at
<?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
<td>
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at
<?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
<?php
}
?>
</tr>
<?php
}
}
?>
</table>
答案 0 :(得分:1)
使用以下内容:-
<?php while($rows = $result->fetch_assoc()){ ?>
<tr>
<td> <?php echo $rows['order_id']; ?> </td>
<td> <?php echo $rows['model_number']; ?> </td>
<td> <?php echo $rows['model_name']; ?> </td>
<td align="center">
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at
<?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
<td align="center">
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at <?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
</tr>
<?php } ?>