检查MySQL数据库并添加代码PHP

时间:2011-12-22 10:35:45

标签: php javascript jquery mysql html

我有PHP:

<?php

$columns = array('mon','thu','wed','tue', 'fri', 'sat', 'sun');
$num_cols = count($columns);
$col = 0;
$datetime = new DateTime("06:00");

echo "<table>"; // border=\"1\" for visible border

// Day header
echo "<tr>";
foreach($columns as $col) {
    echo "<td at='$col'>$col</td>";
}
echo "</tr>";


// Times
for($i=0; $i<20; $i++) { // FIXME for more entries or other step width
    echo "<tr>";
    $datetime->modify('+30 minutes');

    for ($j=0; $j<$num_cols; $j++)
        echo '<td class="' . $datetime->format('H:i') . '">' . $datetime->format('H:i') . '</td>';

    echo "</tr>";
}

echo "</table>";

?>

并在数据库MySQL中:

id | day | hours
1  | mon | 07:00
2  | thu | 08:40
3  | wed | 12:30
4  | thu | 13:00
5  | fri | 05:00
etc

检查此方法的最佳方法是什么?如果日期在数据库中,那么我想用红色背景制作TD,例如添加红色类:

echo "<td at='$col' class='red'>$col</td>";

在每个循环中检查这个是不是一个好主意 - 这生成了许多查询数据库。 我该怎么做?

如果可能的话,我也可以使用jquery和JSON。

1 个答案:

答案 0 :(得分:1)

将它们全部列在一个键控数组中,然后在循环浏览日历时只需检查这些键。

例如,您将获得数组array(1 => array('07:00' => true))(星期几=&gt;约会)。

然后,您可以查看isset($array[$datetime->format('N')][$datetime->format('H:i')])