在时间范围内搜索

时间:2012-01-31 14:01:33

标签: php mysql

我正试图想出一种在时间范围列表中查询的方法,根据可用性将作业分配给不同的人。

所以我正在对存储在MYSQL中的表进行成像:

Person       | Available (day) | Available (hours) | Free (from) | Free (until)
Mateluna     | Monday          | 10:00 - 13:00     | 10:00       | 13:00
Mateluna     | Monday          | 15:00 - 19:00     | 15:00       | 19:00
DelloStritto | Tuesday         | 12:00 - 18:00     | 12:00       | 18:00
DeFranco     | Monday          | 10:00 - 11:30     | 10:00       | 11:30
Richardson   | Monday          | 08:00 - 10:30     | 08:00       | 10:30

*从可用(小时)生成免费(自由)和免费(直到)

我的想法是,我可以创建一个表格,用“周一”等参数查询表格。 “10:00-11:30”,该功能将归还DeFranco和Mateluna。从我能想到的,它将涉及必须在“可用(日)”内进行搜索,并能够在“可用(小时)”时间范围内搜索 - 我不知道如何做或确定是否是可能的。

目前我可以创造出有效的东西,但它更具通用性,例如。我可以搜索“星期一”并看到周一所有人都可用,然后我必须查看输出列表以找到符合我需求的人,例如。

Mateluna @ 10:00 - 13:00
DeFranco @ 10:00 - 11:30
Richardson @ 08:00 - 10:30

任何帮助,很多赞赏我如何解决这个问题,我觉得可能需要以不同的方式存储信息,但我不确定。

1 个答案:

答案 0 :(得分:0)

我认为,出于您的目的,您可以在查询中使用“AND”或“联接”....例如

select * from db_name where available(day)=%s和%s和%s之间的可用小时数;