Я думаю об использовании FullCalendar в качестве календаря событий на веб-сайте.
Мой вопрос: есть ли какая-либо документация или примеры использования PHP/MySQL для хранения данных о событиях доступа?
Спасибо!
Я думаю об использовании FullCalendar в качестве календаря событий на веб-сайте.
Мой вопрос: есть ли какая-либо документация или примеры использования PHP/MySQL для хранения данных о событиях доступа?
Спасибо!
Я тоже этим занимаюсь, и мне хотелось, чтобы был более полный пример стороны PHP/MySQL, поскольку я обычно работаю с ASP.NET/MS-SQL, поэтому мне пришлось потратить больше времени, чем я бы понравились некоторые основные вещи. Вот схема того, что я сделал. Это довольно просто.
Сначала я создал таблицу в MySQL, которая выглядит так:
CREATE TABLE `events` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
`start_date` datetime NOT NULL,
`end_date` datetime NOT NULL,
`event_url` varchar(200) DEFAULT NULL,
`all_day` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Затем я написал PHP-программу с именем json-events.php, которую использовал в качестве источника событий для календаря. В этой программе вам сначала нужно получить даты начала и окончания отображаемого в данный момент календаря:
$start_date = $_GET['start'];
$end_date = $_GET['end'];
Затем вам нужно запустить SQL-запрос, чтобы получить события в этом окне:
$sqlcommand = "select * from events
where start_date between from_unixtime($start_date) and from_unixtime($end_date)
or end_date between from_unixtime($start_date) and from_unixtime($end_date)
order by start_date";
Затем соберите массив с результатами:
$event_array = array();
while ($record = mysql_fetch_array($result)) {
$event_array[] = array(
'id' => $record['id'],
'title' => $record['title'],
'start' => $record['start_date'],
'end' => $record['end_date'],
'url' => $record['event_url'],
'allDay' => $record['all_day']
);
}
Наконец, JSON кодирует его и повторяет:
echo json_encode($event_array);
Кажется, это работает. Я не очень хорошо знаком с тем, как поля даты/времени обрабатываются в MySQL и PHP, поэтому я не уверен, что делаю это наиболее эффективным образом.
Вам нужно будет реализовать страницу PHP, которая извлекает данные о событиях из базы данных MySQL и возвращает их в формате JSON. Затем вы можете использовать этот URL как источник канала JSON для календаря.
Пример кода есть в репозитории FullCalendar GitHub.
И есть демонстрация, показывающая как слушать события, если что-то меняется в календаре а>.