Я в PHP:проверить базу данных MySQL и добавить в код 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>";
Проверьте это в каждом цикле FOR не является хорошей идеей - это генерируется много запросов для базы данных. Как я могу это сделать?
Я могу использовать также jquery и, например, JSON, если это возможно.
вы могли бы объяснить мне этот пример? Я не понимаю –
Вы просто загружаете всю информацию из своей базы данных в локальный массив, а не запрашиваете каждый раз, когда вам что-то нужно. Затем вы сохраняете это в легкодоступном массиве с помощью клавиш. '$ array [1]' будет указывать на все ваши встречи в понедельник, а '$ array [1] ['08:00']' будет назначением в понедельник в 8 часов утра. Таким образом, для этого требуется только один запрос MySQL. –
спасибо :) так как можно изменить мой пример для использования $ datetime-> format ('N')? теперь невозможно ... –