我需要制作一个教授时间表检索系统的项目。我计划创建一个html页面,并使用一些CSS脚本和php创建一个下拉菜单;选择教授的姓名和星期几。这将定向到存储所选教授表的数据库,然后必须在结果中显示当天教授的日程安排。
我正在制作6个表,每个表都需要周一,周二...周六,每个表都具有属性p_id,p_name,时段1,时段2,...,时段8。
我的确切问题是如何在特定的一天检索特定教授的数据?
最佳答案
您提到您将使用PHP。您已经设置数据库表了吗?
粗略猜测,您至少需要一个professor
表和一个professor_appointment
表。 professor
表可以具有自动递增的id
,个人名称字段以及您认为相关的其他内容。professor_appointment
将具有一个professor_id
字段,这是指向professor
表的外键链接。它还需要start_time
和end_time
字段,可能是title
,description
等。
要在特定日期检索特定教授的数据,您将需要以下查询:
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
字段中,以有效删除该字段的时间元素(小时,分钟等),仅保留日期本身以进行简单比较。