检查MySQL数据库并添加PHP代码
我在PHP中有:检查MySQL数据库并添加PHP代码,php,javascript,jquery,mysql,html,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>"; f
<?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>";
?>
检查这一点的最佳方法是什么?如果日期在数据库中,则我希望使用红色背景制作TD,例如添加红色类:
echo "<td at='$col' class='red'>$col</td>";
echo“$col”;
在每个循环中检查这一点并不是一个好主意——这会生成许多数据库查询。
我怎样才能做到
如果可能的话,我也可以使用jquery,例如JSON。将它们全部列在一个键控数组中,然后在日历中循环时只需检查这些键 例如,您将获得数组
array(1=>array('07:00'=>true))
(一周中的某一天=>约会)
然后您可以检查isset($array[$datetime->format('N')][$datetime->format('H:i'))您能为我解释一下这个例子吗?我不明白你只是把数据库中的所有信息下载到一个本地数组,而不是在每次需要时查询。然后,使用这些键将其存储在一个易于搜索的数组中
$array[1]
将指向您周一的所有约会,$array[1]['08:00']
将指向周一上午8点的约会。这样,它只需要一个MySQL查询。谢谢:)那么如何更改我的示例以使用$datetime->format('N')?现在不可能了,N
格式返回一周中某一天的数字。1是星期一,7是星期天。您可能希望在数据库中对此进行更改,或者只需编写一个“映射”它们的快速函数,例如mon=1、tue=2等,但在我的循环中,因为我没有访问name day的权限:(
echo "<td at='$col' class='red'>$col</td>";