我必须将 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"> </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>
最佳答案
您为什么使用 $products?
修复:
<?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>"
}
?>
关于php - 在html表PHP中显示mysql数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21965201/