[英]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.