PHP Takvim Görüntülü Olaylar

1 Cevap php

Ben benim veritabanında olayların bir tablo varsa, örneğin sormak istiyorum

description | startdt             | enddt
event1      | 2010-04-01 10:00:00 | 2010-04-01 13:00:00
event2      | 2010-04-09 14:00:00 | 2010-04-09 18:00:00
event3      | 2010-04-30 11:00:00 | 2010-05-02 16:00:00

Ben zaten google takvim gibi bir şey olacaktır ki nasıl bu yukarıdaki olaylar, benim takvim üzerine görüntüleyebilir, bir php takvim oluşturduk? örneğin 2010-04-01 için, bir ay takviminde "EVENT1" gösterecektir.

Teşekkür ederim.

1 Cevap

Zaten takvim ızgara görüntülemek için önceden hesaplanabilir bir $ yıl ve $ ay değişken var varsayarsak, böyle bir veritabanı bir şey veri getirmek istiyorum:

$query = <<<EOF
SELECT DAY(startdt) AS day, description
FROM table
WHERE (YEAR(startdt) = $year) AND (MONTH(startdt) = $month)
EOF;

$stmt = mysql_query($query) or die ('Query error: ' . mysql_error());

$events = array();
while($row = mysql_fetch_assoc($stmt)) {
   $events[$row['day']][] = $row['description']; // might have multiple events on one day, so store as an array of events
}

Sonra takvim inşa ederken, istediğiniz ancak $ günü $events dizi ve çıkış açıklamaları mevcut olup olmadığını kontrol edin:

for ($day = 1; $day <= 31; $day++) {
    if(isset($events[$day])) {
         ... display event descriptions
    }
}

Birden fazla güne yayılan olaylar varsa tabii ki, o zaman o ele şeyleri değiştirmek gerekir, ama bu en azından tek günlük olaylar ile başlamak gerekir.