此代码:
while ($row = mysql_fetch_assoc($result)) {
$username=$row["username"];
$currentroles[$username]=$row["role"];
print "abc";
echo "<tr><td>$username</td>";
echo "def";
echo "<td><select name=\"role[$username]\">";
if($row["role"]=='admin')
{
echo "<option value=\"admin\">admin</option>";
echo "<option value=\"user\">user</option>";
}
else if($row["role"]=='user')
{
echo "<option value=\"user\">user</option>";
echo "<option value=\"admin\">admin</option>";
}
echo "</select></td></tr><br/>";
}
制作此页面:
(这只是页面的一部分,有很多用户的下拉列表为“abcdef”)
我不知道为什么页面顶部的“abc”,“def”字符串。如果我把它们拿出来,页面中有空行(而不是“abcdef”),即使我从未打印<br>
。这是怎么回事?
答案 0 :(得分:4)
这是因为它们打印在表格中,但在标记<tr>
和<td>
之间。此文本显示在表格之前。例如:
<table>
<tr>
<td>a</td>
</tr>
b
<tr>
<td>c</td>
</tr>
</table>
会像
一样B'/ P>
一
C
答案 1 :(得分:3)
字符串abc
和def
会在页面顶部呈现,因为它们不在您的表格中。将它们放入某个单元格<td>
中它将解决您的问题 - 文本将在表格中。