我需要制作一个教授时间表检索系统的项目。我计划创建一个html页面,并使用一些CSS脚本和php创建一个下拉菜单;选择教授的姓名和星期几。这将定向到存储所选教授表的数据库,然后必须在结果中显示当天教授的日程安排。

我正在制作6个表,每个表都需要周一,周二...周六,每个表都具有属性p_id,p_name,时段1,时段2,...,时段8。

我的确切问题是如何在特定的一天检索特定教授的数据?

最佳答案

您提到您将使用PHP。您已经设置数据库表了吗?

粗略猜测,您至少需要一个professor表和一个professor_appointment表。 professor表可以具有自动递增的id,个人名称字段以及您认为相关的其他内容。

professor_appointment将具有一个professor_id字段,这是指向professor表的外键链接。它还需要start_timeend_time字段,可能是titledescription等。

要在特定日期检索特定教授的数据,您将需要以下查询:

SELECT pa.*
FROM professor_appointment pa
    INNER JOIN professor p ON pa.professor_id = p.id
WHERE p.id = 1
    AND DATE( pa.start_time ) = '2017-07-20'
ORDER BY pa.start_time ASC;


这将检索2017年7月20日professor表中ID为1的教授的所有约会。

在此SQL查询中可能需要解释的几件事:


这些表使用别名,因此p表之后的professor是其别名,此后对professor表的每个引用都仅使用别名p
DATE( pa.start_time ) DATE函数仅包装在start_time字段中,以有效删除该字段的时间元素(小时,分钟等),仅保留日期本身以进行简单比较。

10-06 12:26