Отображение данных mysql в html-таблице PHP

Мне нужно сделать данные из таблицы таблиц MySQL в таблице HTML. У меня есть код, где он будет отображать первую из семи строк из таблицы MySQL, но он повторяет строку девять раз, вместо отображения всех семи строк. Что я сделал не так?

<?php require 'database.php'; //get all product data $query = 'SELECT * FROM products'; $products = $db->query($query); $products = $products->fetch(); ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>SportsPro</title> </head> <body> <form id="Header" name="Header" method="post"> <?php include 'header.php'; ?> </form> <form id="Content" name="Content" method="post"> <table width="500" border="1"> <tr> <th scope="col">Code</th> <th scope="col">Name</th> <th scope="col">Version</th> <th scope="col">Release Date</th> <th scope="col">&nbsp;</th> </tr> <?php foreach ($products as $product) { ?> <tr> <td><?php echo $products['productCode']; ?></td> <td><?php echo $products['name']; ?></td> <td><?php echo $products['version']; ?></td> <td><?php echo $products['releaseDate']; ?></td> <td><input type = "submit" value = "Delete" align = "right" ></td> </tr> <?php } ?> </table> <p><a href="add_product.php">Add Product</a></p> </form> <form id="Footer" name="Footer" method="post"> <?php include 'footer.php'; ?> </form> </body> </html> 

Почему вы используете $ продукты?

FIX:

 <?php foreach ($products as $product) { //See *$products as $product*, so no need to use $products below instead use $product echo "<tr>"; echo "<td>". $product['productCode']. "</td>"; echo "<td>". $product['name']. "</td>"; echo "<td>". $product['version']. "</td>"; echo "<td>". $product['releaseDate']. "</td>"; echo "<td><input type = \"submit\" value = \"Delete\" align = \"right\" ></td>"; echo "</tr>" } ?> 

Вы должны заменить,

 $products = $products->fetch(); 

с

 $products = $products->fetchAll(); 

Внутри td-тегов у вас есть,

 <?php echo $products['productCode']; ?> 

Измените его так, как показано ниже для всех строк,

 <?php echo $product['productCode']; ?>