You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP数据库表格数据显示异常解决:如何修复所有数据在同一行的问题

解决表格数据全部显示在同一行的问题

你这个问题很典型——没有为每条数据库记录生成独立的表格行标签<tr>,导致所有单元格<td>都被浏览器解析到了同一个行里,自然就挤在一起了。

修正后的完整代码

<h1>Delete The Recode</h1>
<div class='tablee'>
    <table name="table" style="width:100%" method="post">
        <tr>
            <th>author</th>
            <th>title</th>
            <th>type</th>
            <th>year</th>
            <th>isbn</th>
        </tr>
        <?php
        $servername = "localhost";
        $username = "saleh";
        $password = "saleh";
        $dbname = "publications";

        $conn = new mysqli($servername, $username, $password, $dbname);
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

        $sql = "SELECT * FROM classics";
        $result = $conn->query($sql);

        while ($row = $result->fetch_assoc()) {
            // 为每条记录添加表格行的起始标签
            echo "<tr>";
            echo "<td>" . $row['author'] . "</td>";
            echo "<td>" . $row['title'] . "</td>";
            echo "<td>" . $row['type'] . "</td>";
            echo "<td>" . $row['year'] . "</td>";
            echo "<td>" . $row['isbn'] . "</td>";
            // 闭合表格行标签
            echo "</tr>";
        }

        $conn->close();
        ?>
    </table>
</div>

关键修改说明

  • 移除了原代码里多余的空<tr></tr>,因为我们会在循环里动态生成每一行
  • 在while循环的开头添加了<tr>,表示新的表格行开始
  • 在while循环的结尾添加了</tr>,表示当前表格行结束

这样每一条从数据库读取到的记录,都会被包裹在独立的<tr>标签里,浏览器就能正确识别每一行数据,实现正常的表格布局了。

内容的提问来源于stack exchange,提问作者samxxsam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 10:47:36