具有动态内容的 PHP 表

标签 php mysql html-table

我正在编写一小段 PHP 代码,它将显示一个表格; X 轴将显示过去 14 天的窗口,Y 轴将在第一列中显示计算机列表,每个日期单元格的内容将显示计算机在该日期的状态(如下示例)。

|Hostname   |1   |2    |3  |
+-----------+----+---------+
|computer1  |OK  |DEAD |OK |
|computer2  |OK  |     |   |

我需要该表是完全动态的 - 所以如果今天添加一个新系统;它将显示并具有今天的状态,但不会显示前一天的状态。到目前为止一切顺利 - 但是我的 table 没有正确关闭 - 因此计算机状态是垂直添加的,而不是水平添加的,所以它看起来更像是这样:

|Hostname   |1   |2    |3  |
+-----------+----+---------+
|computer1  |OK  |     |   |
|computer2  |OK  |     |   |
|computer1  |DEAD|     |   |
|computer1  |OK  |     |   |

无法找出关闭表格的好方法,同时保持准确、动态的内容。该表的代码如下(顺便说一句,缺少主机名列):

<?php
  $dates2 = mysql_query("SELECT day, month, year, hostname FROM log WHERE date >= DATE_ADD(CURDATE(), INTERVAL -14 DAY) ORDER BY date;");
?>

<?php
  echo "</thead>";
  echo "<tbody>";
  echo "<tr>";
  while ($row = mysql_fetch_array($dates2))
    {
      echo "<td><a href='/log/" . $row['hostname'] . ".log'>" . $row['hostname'] . "</a></td>";
      $state_date = mysql_query("SELECT state FROM log WHERE hostname = '" . $row['hostname'] . "' AND day = '" . $row['day'] . "' AND month = '" . $row['month'] . "' AND year = '" . $row['year'] . "' ORDER BY date;");
      while($row2 = mysql_fetch_array($state_date))
        {
          if(isset($row2['state']))
            {
              if ($row2['state'] == 'ok')
                 {
                   echo "<td bgcolor='#FF0000'>" . $row2['state'] . "</td>";
                 }
              elseif($row2['state'] == 'dead')
                 {
                   echo "<td bgcolor='#00FF00'>" . $row2['state'] . "</td>";
                 }
              else
                 {
                   echo "<td bgcolor='#FFD732'>" . $row2['state'] . "</td>";
                 }
            }
          else
            {
              echo "<td>Unknown</td>";
            }
         }
  echo "</tr>";
  }
  echo "</tbody></table>";
  mysql_close($con);
?>

最佳答案

您需要将 部分放入循环内。 TR 是行。您将所有内容都放在一行上。

while (...)
{
   echo "<tr>";
   ...
   echo "</tr>";
}

关于具有动态内容的 PHP 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320567/

相关文章:

php - 将值与其他值的总和一起列出一次

html - 表格单元格 Angular 落的按钮;文字居中

php - 在网站上发现奇怪的 index.php

php - 第二次访问 php 页面时更新 cookie

PHP - MVC 应用程序中工作单元应位于何处?

mysql - 将 MySQL 数据从 machineX 传输到 machineY

php - 具有内连接的 UNION SELECT 表和带有 "ALIAS"的 GET 值

php - 拉维 5.4 : sending email from localhost not working

PHP/MySQL 根据之前的 if 语句输出指定字段

javascript - html 表格转 json - 修改单元格