Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查MySQL数据库并添加PHP代码_Php_Javascript_Jquery_Mysql_Html - Fatal编程技术网

检查MySQL数据库并添加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中有:

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