MYSQL输出 - HTML表

时间:2012-08-30 14:38:25

标签: php mysql html

我有一个查询来输出我的MYSQL数据库中的数据,并希望它显示在表格中。使用“Name”和“UserID”作为标题...当前我开发的代码,确实会输出结果,但会创建表的多个实例,而不会创建新行。

请有人帮助我实现目标吗?

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>";

7 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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>";

您需要回显表open标记和标题然后遍历数据库结果,然后回显表结束标记。

答案 2 :(得分:2)

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

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>";

答案 3 :(得分:2)

你应该放<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>";

答案 4 :(得分:1)

答案 5 :(得分:0)

在循环中使用此代替

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

并将表格的其余部分包裹在循环中。

答案 6 :(得分:0)

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

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

如果您只想显示:FullName和UserID:

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