2017-07-21 13 views
0

while()ループを使用して、ordersというテーブルからすべてのデータを返してHTMLテーブルに出力しようとしています。私のテーブルの最初の行だけを取得しています

データをループする2つの方法を試しました。

  1. while($row = mysqli_fetch_assoc($result))

  2. while($row = $result->fetch_assoc())

どちらの方法は、私のHTMLの表に最初の行のみを追加し、ちょうどページに任意の他の行をエコーし​​ます。ここで

はコードです:

<!DOCTYPE html> 
<html> 
<head> 
<title>Page Title</title> 
</head> 
<body> 

<h1>FORM SUCCESSFULLY SENT</h1> 

<p>Here are the order details</p> 

<?php 
    $servername = xxxx; 
    $username = xxxx; 
    $password = xxxx; 
    $databasename = xxxx; 
    $conn = new mysqli($servername, $username, $password, $databasename);   // Create connection 
    if ($conn->connect_error) die("Connection failed: " . $conn->connect_error); // Check connection 
    $sql_query = "SELECT * FROM orders"; 
    $result = mysqli_query($conn,$sql_query); 

?> 
<table border="3" style= "background-color: #84ed86; color: #761a9b; margin: 5 auto;" > 
     <thead> 
     <tr> 
      <th>Name</th> 
      <th>Surname</th> 
      <th>Start City</th> 
      <th>End City</th> 
      <th>Tracking Number</th> 
     </tr> 
     </thead> 
     <tbody> 
     <?php 
      if (!$result) throw new Exception('Database error: ' . mysql_error()); 
      else 
      { 
       while($row = mysqli_fetch_assoc($result)) 
       { 
       echo "<tr>"; 
       echo "<td>".$row['client_name']."</td>"; 
       echo "<td>".$row['client_surname']."</td>"; 
       echo "<td>".$row['client_start_city']."</td>"; 
       echo "<td>".$row['client_end_city']."</td>"; 
       echo "<td>".$row['order_tracking_number']."</td>"; 
       echo "</tr>"; 
       echo "</table>"; 
       } 
       $result->free(); // free result set 
      } 
     ?> 
     </tbody> 
    </table> 
<?php 
     $conn->close(); 
?> 

</body> 
</html> 

そして、これは私が3つのレコードを表示バック

enter image description here

答えて

5

得るものです。 whileループから

echo "</table>"; 

、それが動作します:削除! :)

+0

素敵な一日で幸せなコーディングを持っています! ;) – Yupik

+0

あなたも@Yupik;) –

1

あなたecho "</table>";whileの外にする必要があります

while($row = mysqli_fetch_assoc($result)) 
{ 
    echo "<tr>"; 
    echo "<td>".$row['client_name']."</td>"; 
    echo "<td>".$row['client_surname']."</td>"; 
    echo "<td>".$row['client_start_city']."</td>"; 
    echo "<td>".$row['client_end_city']."</td>"; 
    echo "<td>".$row['order_tracking_number']."</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
1

すべてのものは大丈夫です!ちょうどecho "</table>";これをWhile Loopから削除します。

<?php 
      if (!$result) throw new Exception('Database error: ' . mysql_error()); 
      else 
      { 
       while($row = mysqli_fetch_assoc($result)) 
       { 
       echo "<tr>"; 
       echo "<td>".$row['client_name']."</td>"; 
       echo "<td>".$row['client_surname']."</td>"; 
       echo "<td>".$row['client_start_city']."</td>"; 
       echo "<td>".$row['client_end_city']."</td>"; 
       echo "<td>".$row['order_tracking_number']."</td>"; 
       echo "</tr>"; 
       //echo "</table>"; Remove This. 
       } 
       $result->free(); // free result set 
      } 
     ?> 
関連する問題