Sizin soru sadece sizin için uygulama yazmak için birini soran bir iş kuruluna bir yazı gibi daha görünüyor.
Gerçekten yapmak için çalışıyoruz, ne o kadar karmaşık değil. Sadece belki bir isim, açıklama, başlangıç damgası, zaman damgası ve biten bir "yinelenen" mantıksal dahil appts, saklamak için bir MySQL tablo kurmak. Eğer herhangi bir yaklaşan randevuları olup olmadığını görmek istiyorum ne zaman aralığı üzerinde, veritabanını sorgulamak için Ajax kullanın. doğruysa, kullanıcıya bildirmek.
zaman biçimlendirme için, böyle bir şey yapabilirsiniz:
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);
}
Burada bakabilirsiniz bazı sorgular ve bazı tablo oluşturma SQL vardır:
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");
Haftalık ve aylık nüks daha karmaşık olacak ve muhtemelen SQL sorguları dışında manipülasyon gerektirir. Yüksek yükü anlamına gelebilir.
Bu örnekte, i damgaları gibi tarihlerini depolamak var. Ancak, bir dize ve strtotime gibi bir şey () kullanarak olarak bunları depolamak için daha makul olabilir. rağmen, ben bu fonksiyonu ne kadar güvenilir bilmiyorum.
Eğer fikir edinebilirsiniz. Timezone destek olarak, kontrol http://www.ultramegatech.com/blog/2009/04/working-with-time-zones-in-php/ ve http://www.php.net/manual/en/class.datetimezone.php