簡體   English   中英

PHP 和 Mysql while 循環

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM