MYSQL Output - HTML Table


MYSQL Output - HTML Table

我有一个查询来输出MYSQL数据库中的数据,并希望它显示在表中。以"名称"answers"用户ID"为标题。。。目前,我开发的代码确实输出了结果,但却创建了表的多个实例,并且没有创建新行。

有人能帮我实现目标吗?

echo"
<table width='400' border='1'>               
<tr>
    <td>Name</td>
    <td>SystemID</td>
  </tr>
  <tr>
    <td> ".$row['FullName']." </td>
    <td> ".$row['UserID']." </td>
  </tr>
</table>";

表应该在数据循环之外定义,只需循环数据并在每个循环上添加一行:

echo "<table width='400' border='1'> ";
echo "<tr>
    <td>Name</td>
    <td>SystemID</td>
  </tr>";
// Example of while loop :
   while ($row = mysql_fetch_array($results)) {
     echo"      <tr>
        <td> ".$row['FullName']." </td>
        <td> ".$row['UserID']." </td>
      </tr>";
   }
echo "</table>";

如果您显示的代码在某种循环数据库结果的while循环中,那么您得到一堆单行表的原因应该很明显。整个表的输出将在每次循环执行时发生。您应该做的是在开始数据检索循环之前输出表的开头标记和标题行。每次执行循环时只输出行,然后在退出循环后输出表结束标记。

echo"
<table width='400' border='1'>               
<tr>
    <td>Name</td>
    <td>SystemID</td>
  </tr>";
while ($row = $result->fetch_assoc()) { // or whatever your retrieval code is
  echo "<tr>
    <td> ".$row['FullName']." </td>
    <td> ".$row['UserID']." </td>
  </tr>";
}
echo "</table>";

您需要回显表打开标记和头,然后循环数据库结果,然后回显表关闭标记。

您应该将<table width='400' border='1'>
<tr> <td>Name</td> <td>SystemID</td> </tr>
循环前( <HERE> while() { ... }</table>你应该放在循环之后。。。

它应该是这样的:

echo "
<table width='400' border='1'>
<tr>
    <td>Name</td>
    <td>SystemID</td>
  </tr>";
while(....) {
echo "               
 <tr>
    <td> ".$row['FullName']." </td>
    <td> ".$row['UserID']." </td>
  </tr>
";
}
echo "</table>";

http://www.siteground.com/tutorials/php-mysql/display_table_data.htm

在循环中使用此选项,而不是

echo"
  <tr>
    <td> ".$row['FullName']." </td>
    <td> ".$row['UserID']." </td>
  </tr>";

然后把桌子的其余部分包起来。

不要使任务复杂化;你不需要做循环;mysql提供了--html选项,只需使用它:

mysql --html -uroot -e "USE mydb;select * from mytable"

如果只想显示:FullName和UserID:

mysql --html -uroot -e "USE mydb;select FullName,UserID from mytable"