【发布时间】:2012-10-30 04:06:09
【问题描述】:
当我尝试从 MySQL 表中检索数据时,表未正确呈现。基本上,我使用 if 语句来查看是否存在任何内容(如果用户发布了信息),如果有的话,我会转到在 HTML 表中显示数据的 else 条件。这是我为 else 语句开始的代码。
else{
//BEGIN JOB POSTING
echo "<table border=1 width=200 height=200>";
while($row_job = mysqli_fetch_array($result_job))
{
echo "<tr>".$row_job['subject']."</tr>";
}
mysqli_free_result($result_job);
echo "</table>";
}
我放置宽度和高度以及边框的原因是为了让您可以看到表格在哪里呈现以及实际信息在哪里呈现。正在显示信息,它只是并排显示,没有空格,而不是<tr>。截图如下:
疯狂的是,如果你检查这个页面的源代码,它看起来像这样:
<table border=1 width=200 height=200><tr>twkjljl</tr><tr>lkjljl</tr></table>
但是如果你在谷歌浏览器中检查元素,它看起来像这样:
所以我尝试了几件事,我更改了代码以让它们显示在<td> 中并且它可以正确呈现。这是代码和屏幕截图:
else{
//BEGIN JOB POSTING
echo "<table border=1 width=200 height=200><tr>";
while($row_job = mysqli_fetch_array($result_job))
{
echo "<td>".$row_job['subject']."</td><br />";
}
mysqli_free_result($result_job);
echo "</tr></table>";
}
虽然这很好,但我希望数据显示在不同的行而不是不同的列中,并且看不到代码中的错误在哪里。世界上到底发生了什么?
【问题讨论】:
-
我有一种强烈的感觉,那就是开始了解有效 HTML 的含义以及如何验证自己的脚本是一个非常好的主意。一个好的起点是validator.w3.org
-
虽然您的问题已经得到解答,但我强烈建议您阅读有关 HTML 表格的文档。你可能会学到一两件事:)。至少您应该了解
和 之间的区别,并且 标记始终放在 标记内,但请务必阅读该文档:) 啊,哈哈,我不敢相信我忽略了这一点。我正忙于 MySQL,我对我的 HTML 完全空白。感谢所有的答案!
标签: php html mysql mysqli html-table