【问题标题】:Generate recurring events in fullcalendar from a fixed timeslots list从固定时隙列表生成完整日历中的重复事件
【发布时间】:2014-09-08 07:08:26
【问题描述】:

我有一份医生和患者名单,如图所示,他们在几个月(长期治疗)期间有固定的时间表:

所以 Clarice 将在每周一 09:00 到 10:00 与 Fenwick 博士预约,直到日程被删除

我将该信息保存到表格中:

  • id (int)
  • 星期(1,2,3,4,5),其中星期一=1,星期二=2...
  • fk_doctor
  • fk_patient
  • 开始(时间)
  • 结束(时间)

A) 我应该如何从该表中生成重复事件列表,以便填充 jQuery fullcalendar 组件?

B) 将重复的重复事件的整个列表保存到表中会好多少(或最佳)?

我在 B) 中看到的唯一优点是可以为每个事件保存评论,易于在全日历中加载,但我会有很多记录,并且速度或加载时间会受到很大影响,因为我的数据显示的只是真实情况的 0.00001%

感谢您提出的任何想法/意见

【问题讨论】:

  • 什么是周期性重复事件?
  • 我可以帮助你最近我已经实现了相同的,它在 asp.net 中。让我知道你在 asp.net 中编码
  • @philipxy 对不起我的英语。我的意思是重复事件,一个重复其频率的事件,通常每周一次。
  • @ramby 抱歉,我正在尝试用 php+jquery 构建它,但我愿意接受可以转化为 php 的想法

标签: php jquery database-design fullcalendar recurring-events


【解决方案1】:

由于我的评论太长,所以我添加我的评论作为答案。

好的,在添加重复事件时,您应该有以下输入 “添加重复事件” -

1) Occurence Type - Daily, Weekly, Month (as radiobuttons)
2) Recurring Days - Mon, Tue, Wed, Thu, Fri, Sat, Sun (as checkboxes)
3) Start Date and End Date
4) From Time and To Time

现在,如果您选择“每日”选项,则“重复天数”和“结束日期”应为 隐藏/禁用。

如果您选择“每周”,则应启用所有 3 个。 在这里,您需要根据以下计算 StartDate 和 EndDate 之间的所有日期 从“重复天数”复选框中选择的天数 例如。你选择了

Occurence Type - Weekly
Recurring Days - Mon,  Wed
Start Date - 6-July-2014
End Date - 20-July-2014

写一个js函数为

GetWeeklyDates(startdate, enddate)
{
// sorry no time write by urself, I had done this at asp.net end
}

您的 GetWeeklyDates 函数应返回以下日期:- 2014 年 7 月 7 日、2014 年 7 月 9 日、2014 年 7 月 14 日、2014 年 7 月 16 日

所以现在它变得很简单,只需将 From Time 和 End Time 附加到每个日期和

在 php 结束时运行一个循环来添加这些日期的事件。

你也可以在我的sql端执行这些算法

只需将开始日期时间和结束日期时间传递给程序

在我的 sql 中编写一个函数来获取每周日期/每月日期

并循环插入约会语句

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多