Компонент календаря на PHP
Существуют ситуации когда нельзя воспользоваться компонентом календаря созданном на JavaScript. Как правило, это те случаи когда требуется возможность не автоматизировать выбор даты в HTML форме, а возможность привязки неких произошедших или планируемых событий к датам в будущем. Это может быть количество новостей на определенную дату, количество заказанных товаров или совершенных покупок в интернет-магазине и т.д. Т.е. в таких случаях становится очевидной необходимость в наличии связи календаря с базой данных, для получения тех или иных сведений за определенную дату. Конечно, можно было бы создать календарь на JavaScript и для получения данных о наличии тех или иных событий использовать Ajax, но как показывает практика такое решение не является оптимальным. Поэтому данный компонент календаря будет разработан на PHP.
Настройки по стилям для календаря содержатся в файле calendar.css. А PHP скрипт находится в файле calendar.class.
Для работы с календарем, необходимо добавить в нужный вам модуль, следующий код:
// Подключаем модуль require_once (dirname ( __FILE__ ) . '/calendar.class.php'); // Массив c датами событий в формате Unix $Events = array(1409518800, 1409778000,1410210000,1410901200,1411592400); // Получаем дату, если есть $date = (isset($_REQUEST['date']))? $_REQUEST['date'] : '' ; // Создаем объект календаря $calendar = new Calendar($date, $Events); // Выводим календарь echo $calendar->ShowCalendar();
Вы можете модифицировать исходный код данного календаря, исходя из ваших потребностей. Скачать компонент календаря можно здесь.
Роман
26.11.2015 @ 10:49 пп
Подскажите пожалуйста, как правильней изменить выдачу даты с «?date=d-m-Y» на «Y-m-d» ?
admin
26.11.2015 @ 11:06 пп
Вам нужно чтобы календарь принимал дату в формате: Y-m-d?
Роман
26.11.2015 @ 11:14 пп
совершенно верно
admin
27.11.2015 @ 4:44 пп
Нужно вносить изменения минимум в следующие строки: 54, 56, 57, 60, 116. Изменения связаны с форматом даты.
Александр
22.09.2016 @ 5:57 пп
Возможно ли сделать так что бы в течении года в месяц проходило только определенное количество событий (20 за 30 дней, или 20 за 31 день в зависимости от количества дней в месяце), а на первое число нового месяца счетчик обнулялся?
admin
24.09.2016 @ 3:45 дп
Да, конечно. Вы можете доработать календарь.
Аркадий
14.11.2017 @ 8:55 дп
Здравствуйте, попытался использовать Ваш скрипт, заменил даты на текущие, но он категорически отказывается отмечать обозримые даты как ссылки, очень странно
Аркадий
14.11.2017 @ 12:46 пп
date_default_timezone_set(‘Europe/Moscow’);
В начале скрипта 😉
Isanamari
04.01.2018 @ 8:12 пп
Огромное спасибо за код! Он мне очень помог!
Но у меня возникла проблема, при запуске кода праздники почему-то не подчеркиваются( Подскажите в чем может быть проблема?
admin
05.01.2018 @ 3:39 пп
Пришлите исходник мне на email.