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
相关产品推荐
相关产品推荐

