Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL讲座分配_Php_Mysql - Fatal编程技术网

PHP/MySQL讲座分配

PHP/MySQL讲座分配,php,mysql,Php,Mysql,我正在使用PHP,MySQL开发一个网站,用于教育机构 其中一个功能是在创建批处理时分配讲座。若要将讲座分配给起始批次,系统将根据可用性和资格提示可用讲座。然后课程协调员将做出决定 我的问题是,在给定的时间段内,如何在特定的星期天检查讲座的可用性。时间段是变化的,而不是固定的持续时间 我计划在一张表格中保存课程表,其中显示课程Id、批次Id、日期、开始时间、结束时间、开始日期、结束日期 然后,在进行可用性检查时,我需要编写一个复杂的查询来检查可用的讲座Id。我还没弄明白 还有其他聪明的方法吗 谢

我正在使用PHP,MySQL开发一个网站,用于教育机构

其中一个功能是在创建批处理时分配讲座。若要将讲座分配给起始批次,系统将根据可用性和资格提示可用讲座。然后课程协调员将做出决定

我的问题是,在给定的时间段内,如何在特定的星期天检查讲座的可用性。时间段是变化的,而不是固定的持续时间

我计划在一张表格中保存课程表,其中显示课程Id、批次Id、日期、开始时间、结束时间、开始日期、结束日期

然后,在进行可用性检查时,我需要编写一个复杂的查询来检查可用的讲座Id。我还没弄明白

还有其他聪明的方法吗


谢谢

您建议的存储信息的方式是我想到的第一种方式,不过复杂的查询并没有那么糟糕

如果我理解正确的话,你的讲座存储在另一个表中,与你的讲座时间表表有一对多的关系? 如果是这样,这将获得给定时间范围内的讲座详细信息

大概是这样的:

SELECT * FROM lecture_schedules 
         INNER JOIN lectures USING(lecture_id) 
         WHERE start_day<=DAY(yourstarttime) AND end_day>=DAY(yourendtime) 
         AND start_time<=yourstarttime AND end_time>=yourendtime;
注意:您需要编辑表名和列名以反映实际的模式,并用时间范围值替换StartTime和yourendtime

希望这有帮助

编辑:
此查询对模式中这些列的列和数据类型做出了一些假设-不要只是复制和粘贴,并期望它第一次工作:

我建议将MySQL中的四个时间字段更改为两个日期字段,这样可以减少复杂性,带来更多乐趣!