如何将HTML表格变成网格?

时间:2014-03-21 20:11:35

标签: php mysql html-table

我正在从我的数据库中检索数据到表中,但数据堆积在左边而不是网格视图。

    include_once ('includes/db_connect.php');
    $res = mysql_query("SELECT * FROM inventory ORDER BY id DESC");

    echo "<table>";
    while ($row = mysql_fetch_array($res)) {
        echo "<tr>"; echo "<td>";?> <img src="<?php echo $row["image"]; ?>" height="200" width="280">  <?php echo "</tr>";
        echo "<tr>"; echo "<td>"; echo $row['make']; echo "&nbsp; "; echo $row['model']; echo "</td>";  echo "</tr>";
    }
    echo "</table>";

任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

您只需要为每个开始td标记关闭/ td标记。你的第一行缺少/ td:

echo "<tr>"; echo "<td>";?> <img src="<?php echo $row["image"]; ?>" height="200" width="280">  <?php echo "</td></tr>";

echo "<tr>"; echo "<td>"; echo $row['make']; echo "&nbsp; "; echo $row['model']; echo "</td></tr>";

您可能还想在head标签内设置样式:

<style>
table {
    border:1px solid black;
    border-collapse:collapse;
}
</style>

或内联样式:

<table style="border:1px solid black; border-collapse:collapse;">

答案 1 :(得分:0)

在您的代码中,第一行的末尾关闭表行而不实际关闭单元格。我还分隔了您的代码以提高可读性。我认为问题是第一行末尾缺少</td>

$res = mysql_query("SELECT * FROM inventory ORDER BY id DESC");

echo "<table>";

while ($row = mysql_fetch_array($res)) {
    ?>
    <tr><td>
    <img src="<?php echo $row["image"]; ?>" height="200" width="280">
    </td></tr>
    <tr><td>
    <?php echo $row['make']; echo "&nbsp; "; echo $row['model'];?>
    </td></tr>
    <?php
}
echo "</table>";

还应该注意,你的mysql_query应该切换到mysqli或pdo。