Varolan takvim çözümü için bir günde görünüm seçeneği eklemeye çalışıyorum. Kendi takvimleri uygulayan bir çok insan gibi, ben Google Takvimler modellemek çalışıyorum. Bunlar mükemmel bir takvim çözümü var ve onların gün görünümü esneklik bir sürü sağlar. Çoğunlukla, uygulama iyi gidiyor; Bu çelişkili olaylara gelince, ancak, ben sorunları yaşıyorum.
Esasen, ben olayları aynı yer, yan yana paylaşmak istiyorum. Aynı anda başlaması Olaylar ilk uzun olay olmalıdır. Örnek veri kümesinde Ben dört etkinlik ile çalışıyorum:
A: 10:30-11:30
B: 13:30-14:30
C: 10:30-11:00
D: 10:45-14:00
Ben sadece iyi A, C, ve D işleyebilir, sorun D. A ile birlikte D bırakılmalıdır C bırakılmalıdır; Her genişliğinin üçte biri (ben bunu anlamaya basit matematik yapabilirsiniz böylece sabit genişlikte) alıyor. Sorun B, A ve C altında olmalıdır D. sol İdeal, B, A ve C (üçte ikisi genişlik) olarak alan aynı miktarda alacaktı, ama ben bile bu sadece sadece yukarı çekmek için razı olduğunu ifade üçte biri genişliği.
Olayların Benim dizisi aşağıdaki benzer:
$events = array(
'1030' => array(
'uniqueID1' => array(
'start_time' => '1030',
'end_time' => '1130',
),
'uniqueID2' => array(
'start_time' => '1030',
'end_time' => '1100',
),
),
'1045' => array(
'uniqueID3' => array(
'start_time' => '1045',
'end_time' => '1400',
),
),
'1330' => array(
'uniqueID3' => array(
'start_time' => '1330',
'end_time' => '1430',
),
),
);
Benim planı olması gerektiği (yani sol değerini hesaplayabilirsiniz) ile (yani genişliği hesaplayabilirsiniz) ve bu serideki hangi pozisyon çakışan kaç olaylar şunlardır her olay için bazı dizinleri eklemektir. Ancak, bu yardımcı B. etmez
Ben bazı temel geometri ve matrisleri kullanan bir algoritma gerekebilir düşünüyorum, ama ben nereden başlayacağınızı emin değilim.
Herhangi bir yardım büyük beğeni topluyor.