使用PHPMySQL调度脚本-逻辑帮助

使用PHPMySQL调度脚本-逻辑帮助,第1张

概述我正在寻找一个小的脚本,用户可以在其中插入他们的“时间表”.但是,我需要一些帮助来确定如何创建数据库结构以及如何在数据库中输入事件的“时间”的逻辑.但是,需要注意的一件事是,当用户输入其“计划”时,他们将不会输入确切的日期.相反,他们将输入“星期几”.有点像“定期”约会.例如,用户A可以输入以下时间表:MWF-8:00 am-10:00 amMW-2:00

我正在寻找一个小的脚本,用户可以在其中插入他们的“时间表”.但是,我需要一些帮助来确定如何创建数据库结构以及如何在数据库中输入事件的“时间”的逻辑.

但是,需要注意的一件事是,当用户输入其“计划”时,他们将不会输入确切的日期.相反,他们将输入“星期几”.有点像“定期”约会.

例如,用户A可以输入以下时间表:

MWF-8:00 am-10:00 am
MW-2:00 pm-3:00 pm
等等…

如您所见,我正在寻找一种使用通用“星期几”的方法,而不必使用确切的日期.

考虑到这一点,最好的方法是将其存储在数据库中,因为最终我可能会“查询”数据库以搜索可用时间.

我应该输入毫秒还是秒?星期日的12:00是“ 0”吗?

任何建议都很好.

谢谢!

最佳答案首先,MySQL包含一个time data type.我强烈建议您利用它.

无论如何,对于您的表(这是学术安排,但适用相同的基本思想):

DaysOfWeek----------DowID intDayOfWeek varchar(10)Users------------------------UserID int autoincrementUsername varchar(50)PassHash varbinary(100)Firstname varchar(50)Lastname varchar(50)dob datetimeSemesters----------------------------SemesterID int autoincrementSemestername varchar(50)SemesterNumber intAcademicYear intCalendarYear intClasses-------------------------ClassID int autoincrementClassname varchar(50)ClassCode varchar(25)Schedule----------------------------ScheduleID int autoincrementUserID intSemesterID intDowID intClassID intBeginTime timeEndTime time

现在,您需要做的只是看看某人在星期一到1到2之间是否有空:

select    count(*) as classesfrom    schedule sch    inner join users u on        sch.userID = u.userID    inner join semesters sem on        sch.semesterID = sem.semesterIDwhere    u.username = 'rmcdonald'    and sem.academicyear = 2009    and sem.semesternumber = 1    and sch.dowID = dayofweek($mytime)    and $mytime between sch.begintime and sch.endtime

将$mytime替换为您在此处检查的任何时间. 总结

以上是内存溢出为你收集整理的使用PHP / MySQL调度脚本-逻辑帮助 全部内容,希望文章能够帮你解决使用PHP / MySQL调度脚本-逻辑帮助 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/1165452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存