我正在创建一个网页,根据他们的经验水平列出游戏中的十个 Angular 色,并用一张与每个 Angular 色相关的图片来显示它们。我的代码有效,但当我希望它排成一行时,输出在一列中。我确实在这里看到了非常相似的问题:MySQL data from database align horizontally我试着效仿那个例子,但要么以错误告终,要么面孔没有出现。我是一个爱好者,我只是为 friend 做这个,所以我的知识很基础。
相关代码:
<table border="3" width="90%">
<tr>
<th width="25%">XP</th>
<td>
<?php
$resultgood = mysqli_query($con,"SELECT * FROM Life WHERE goodxp > 0 ORDER BY goodxp DESC LIMIT 10");
while($row = mysqli_fetch_array($resultgood))
{
$face = mysqli_query($con,"SELECT face FROM Description WHERE charname='$row[charname]'");
$row = mysqli_fetch_row($face);
$face = $row[0];
$name = mysqli_query($con,"SELECT charname FROM Life WHERE charname='$row[charname]'");
$row = mysqli_fetch_row($name);
$name = $row[0];
echo "<left>";
echo "<table border='1'>";
echo "<tr><td>";
echo "<img src='pictures/$face' alt='$name' border='2'>";
echo "</td></tr>";
echo "</table>";
echo "<br>";
}
?>
</td>
</tr>
</table>
有人有什么建议吗?谢谢!
因此,在按照下面 Bombelman 的建议进行操作后,我开始使用它了。万一其他人遇到这个问题,这里是工作代码:
<tr>
<th width="25%">Goody Two Shoes</th>
<td><?php
echo "<table border='1'><tr>";
echo "<left>";
$resultgood = mysqli_query($con,"SELECT * FROM Life WHERE goodxp > 0 ORDER BY goodxp DESC LIMIT 10");
while($row = mysqli_fetch_array($resultgood))
{
$face = mysqli_query($con,"SELECT face FROM Description WHERE charname='$row[charname]'");
$row = mysqli_fetch_row($face);
$face = $row[0];
$name = mysqli_query($con,"SELECT charname FROM Life WHERE charname='$row[charname]'");
$row = mysqli_fetch_row($name);
$name = $row[0];
echo "<td>";
echo "<img src='pictures/$face' alt='$name' border='2'>";
echo "</td>";
}
echo "</tr>";
echo "</table>";
?></td>
</tr>
最佳答案
将“table”和“row”标签放在循环之外,只在“td”标签之间循环结果。
查看您的脚本,您有几个表。
确保只有 < td > 和 标签在 while 循环中。 输出应该类似于我的示例。
希望对您有所帮助!
<table style="width:100%">
<tr>
<td>Character 1</td>
<td>Character 2</td>
<td>Character 3</td>
<td>Character 4</td>
<td>Character 5</td>
</tr>
</table>
关于php - 试图让 MySQL 结果水平显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48040259/