這是我的第一篇文章 - 所以要溫和!我正在寫一小段代碼,它將顯示一個表格; X軸將顯示最近14天的窗口,Y軸將顯示第一列中的計算機列表,每個日期單元格的內容將顯示該日期的計算機狀態(下面的示例)。帶動態內容的PHP表格
|Hostname |1 |2 |3 |
+-----------+----+---------+
|computer1 |OK |DEAD |OK |
|computer2 |OK | | |
我需要的表是完全動態的 - 所以如果今天新增了一個系統,它會顯示並且有今天的狀態,但不會在前一天。到目前爲止好 - 但是我的表是沒有得到正確關閉 - 這樣的計算機狀態越來越垂直加入,而不是水平,所以它看起來更像是這樣的:
|Hostname |1 |2 |3 |
+-----------+----+---------+
|computer1 |OK | | |
|computer2 |OK | | |
|computer1 |DEAD| | |
|computer1 |OK | | |
想不通的一個好辦法關閉桌子,同時保持準確,動態的內容。下面是包含表中的代碼(這是BTW缺少hostname列):
<?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);
?>
你可能也發佈了正在生成的表嗎? –
我現在就添加這個。 – user3229731