Ваш вопрос больше похож на сообщение на доске вакансий, в котором кто-то просто пишет ваше приложение для вас.
Это действительно не так сложно, что вы пытаетесь сделать. Просто настройте таблицу MySQL для хранения приложений, включая, возможно, имя, описание, начальную временную метку, конечную временную метку и «повторяющийся» логический тип. используйте Ajax для запроса к базе данных, в любой промежуток времени, который вы хотите увидеть, если есть какие-либо приближающиеся встречи. если это правда, уведомить пользователя.
для форматирования времени, вы можете сделать что-то вроде этого:
function format_date($timestamp1, $timestamp2,$repeating) {
$str = "";
if($repeating) {
$str .= "Every Day";
}
$str .= "From ".date("g:i a",$timestamp1)." To ".date("g:i a",$timestamp2);
return ($str);
}
Вот некоторые запросы, которые вы можете посмотреть, а также SQL для создания таблицы:
CREATE TABLE `appointments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`description` text,
`recurring` int(11) DEFAULT NULL,
`recurrence_type` varchar(50) DEFAULT NULL,
`starting_timestamp` int(14) DEFAULT NULL,
`ending_timestamp` int(14) DEFAULT NULL,
`end_recurring_timestamp` int(14) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1
mysql_query("SELECT * FROM appointments
WHERE recurring=0
AND starting_timestamp <= ". time() + 86400 ."
AND starting_timestamp > ". time() ."
ORDER BY starting_timestamp DESC");
mysql_query("SELECT * FROM appointments
WHERE recurring=1
AND recurrence_type='DAILY'
AND starting_timestamp <= ". time() + 86400 ."
AND end_recurring_timestamp > ". time() ."
ORDER BY starting_timestamp DESC");
Еженедельные и ежемесячные повторения будут более сложными и, вероятно, потребуют манипулирования вне SQL-запросов. Что может означать более высокие накладные расходы.
Для этого примера я сохранил даты в виде временных меток. однако, может быть более разумно хранить их как строку и использовать что-то вроде strtotime (). хотя я не знаю, насколько надежна эта функция.
Вы можете понять идею. Что касается поддержки часовых поясов, проверьте http://www.ultramegatech.com/blog/2009/04/working-with-time-zones-in-php/ и http://www.php.net/manual/en/class.datetimezone.php