PHP中的日历日视图
我正在为现有日历解决方案添加一个日视图选项。像许多实现自己日历的人一样,我正在尝试为谷歌日历建模。他们有一个优秀的日历解决方案,他们的日视图提供了很大的灵活性。在大多数情况下,实施进展顺利;然而,当涉及到冲突事件时,我会遇到一些问题 本质上,我希望事件共享同一个空间,并排进行。同时开始的事件应首先具有最长的事件。在我使用的示例数据集中,我有四个事件: A:10:30-11:30 B:13:30-14:30 C:10:30-11:00 D:10:45-14:00 我能很好地处理A,C和D,问题来自D。A应该是C的左边,应该是D的左边;每个都占三分之一的宽度(它是固定宽度,所以我可以做简单的数学来计算)。问题是B应该在A和C下面,在D的左边。理想情况下,B会占用与A和C相同的空间量(三分之二的宽度),但我甚至会满足于它只占用三分之一的宽度 我的事件数组类似于以下内容:PHP中的日历日视图,php,algorithm,calendar,Php,Algorithm,Calendar,我正在为现有日历解决方案添加一个日视图选项。像许多实现自己日历的人一样,我正在尝试为谷歌日历建模。他们有一个优秀的日历解决方案,他们的日视图提供了很大的灵活性。在大多数情况下,实施进展顺利;然而,当涉及到冲突事件时,我会遇到一些问题 本质上,我希望事件共享同一个空间,并排进行。同时开始的事件应首先具有最长的事件。在我使用的示例数据集中,我有四个事件: A:10:30-11:30 B:13:30-14:30 C:10:30-11:00 D:10:45-14:00 我能很好地处理A,C和D,问题来自
$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',
),
),
);
我的计划是为每个事件添加一些索引,包括它与多少事件冲突(因此我可以计算宽度)以及它在该系列中的位置(因此我可以计算左侧值)。然而,这对B没有帮助
我想我可能需要一个使用一些基本几何和矩阵的算法,但我不确定从哪里开始
非常感谢您的任何帮助。这对您自己的自定义日历开发没有帮助,但当您试图实现类似谷歌日历的界面时,我可以强烈推荐
它接收日历数据的提要,我当前正在将其连接到Outlook Exchange公共日历,然后以月/周/日视图显示。day view可以提供一个很好的例子来实现您最初的请求。这太棒了!我只希望在实施月视图和周视图时能够实现这一点。我可以使用这个插件来处理所有的渲染,包括我遇到问题的定位,并在我的站点上指向一个返回事件的文件(当然是JSON编码的)。谢谢没问题,希望对你有好处。如果您需要帮助,请给我留言。:-)