Ваш вопрос больше похож на сообщение на доске объявлений о вакансиях, в котором вы просите кого-то просто написать ваше приложение для вас.
Это на самом деле не так сложно, что вы пытаетесь сделать. Просто настройте таблицу 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
person
seventeen
schedule
10.02.2010