2014-02-23 363 views
0

我必须从MySQL表格中显示MySQL表格中的数据。 我已经得到了代码,它将显示MySQL表格中7行中的第一行,但它重复行9次,而不是显示所有7行。 我做错了什么?在html表格中显示mysql数据PHP

<?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> 
+0

检查的var_dump($产品)'结果;' – goseo

回答

1

必须更换,

$products = $products->fetch(); 

$products = $products->fetchAll(); 

里面的TD标签,你有,

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

改变它下面喜欢所有线路,

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

为什么使用$产品?

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>" 
} 
?>