[英]PHP and Mysql while loop
我有一个带有订单的 mysql 表。 我试图遍历订单表并根据他们的用户 ID 选择单个客户订单并在他们的客户帐户上显示订单。 但是,我下面的代码只是打印第一行,并且每次都无休止地重复它干扰我的浏览器。
这有什么问题以及如何解决
<?php
$records = $conn->prepare('SELECT * FROM orders WHERE user_id= :id');
$records-> bindParam(':id', $_SESSION['user_id']);
$records->execute();
$results=$records->fetch(PDO::FETCH_ASSOC);
$i=0;
while($i<=$results):
$i++;
?>
<h3>Your Orders</h3>
<table >
<tr >
<th>Order Number</th><th>Academic Level</th><th>Order Details</th>Manage Order</th>
</tr>
<tr>
<td>#SJ<?=$results['id']; ?> </td><td><?=$results['academic_level']; ?></td><td ><?=$results['details']; ?></td>
</tr>
</table>
<?php
endwhile;
?>
删除所有与$i
相关的代码。 只需将您的fetch
语句移动到while condition ,如下所示:
while( $results=$records->fetch(PDO::FETCH_ASSOC))
您需要在 while 循环中包含 html 代码,因为您要显示所有订单。
我正在使用这个方法,试试这个。
在第一个 php 部分开始
<?php
$username = $_SESSION['username'];
$sql = $db->prepare("SELECT * FROM tableName WHERE username = '$username' ");
$sql->execute();
while($results=$sql->fetch(PDO::FETCH_ASSOC)){
?>
之后是 html 部分:
<h3>Your Orders</h3>
<table >
<tr >
<th>Order Number</th><th>Academic Level</th><th>Order Details</th>Manage Order</th>
</tr>
<tr>
<td><?php echo $results['id']; ?> </td><td><?php echo $results['academic_level']; ?></td><td ><?php echo $results['details']; ?></td>
</tr>
</table>
这里是结局
<?php
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.