Php 如何在学校门户中表示三学期学年

Php 如何在学校门户中表示三学期学年,php,mysql,sql,Php,Mysql,Sql,我得到了一个设计学校门户的项目,但我遇到了如何实施学年的问题 在那里的学校,有三个学期,每个学期每个学生都有一次考试(40分)和一次主要考试(60分)。我面临的问题是如何设计数据库表,以及如何从php代码中自动调用该表。这就是我所做的 我创建了test表,并将其命名为2013\u test和考试表2013\u test,每个表都有student\u id,course\u id和term\u of u of u yr字段 因此,当PHP代码尝试在mysql中查询表时:我就是这么做的 <?p

我得到了一个设计学校门户的项目,但我遇到了如何实施学年的问题

在那里的学校,有三个学期,每个学期每个学生都有一次考试(40分)和一次主要考试(60分)。我面临的问题是如何设计数据库表,以及如何从php代码中自动调用该表。这就是我所做的

我创建了
test
表,并将其命名为
2013\u test
和考试表
2013\u test
,每个表都有
student\u id
course\u id
term\u of u of u yr
字段

因此,当PHP代码尝试在mysql中查询表时:我就是这么做的

<?php
   $term = date('Y');
   $sql  = "SELECT * FROM ".$term."_exam";
?>


但我面临的问题是,第一学期从9月开始到12月,第二学期从1月到4月,第三学期从5月到6月,因此,随着年份的变化,代码中的表名也会发生变化,因此,假设我在2014年查看
2013年的
2013年的
考试
表时,代码将读取
2014年的
考试
。我一直在考虑如何将其重新命名为更好的内容,但这并不容易,这就是为什么我在这里,我需要有关如何实现此功能的帮助。请添加一列以包含年份,而不是按年份命名表。另外,表名不应该以数字开头,除非您在select查询中引用它们,因为上面的代码不是这样

$sql  = "SELECT * FROM '".$term."_exam'";
别急,孩子 听听评论的内容:

  • 所有这些数据只需要一个表
  • 术语/期间/表中的任何列
需要不同表的唯一原因是存储不相关的数据。例如:

  • 各种看似同质的活动(体育、文化……)的桌子
  • 放学生的桌子
  • 哦,我想你明白了
因此,学期成绩都是一组单一的同质数据。将其放在一个表中,这样您就可以按日期查询以筛选数据。您还可以设置一个按日期备份数据的脚本,如果不再需要这些信息,则可以修剪表


祝你好运,听起来很有趣。^ ^

“我创建了测试表,并称之为2013_测试”,这是你的第一个错误;-)改为称之为2013-2014学年。另外,您的设计应该有一个表“test”,并将日期存储在其中的一个字段中。很少有理由拥有多个相关表并按名称对其进行键控。否。每个学年只需要一张桌子每个桌子好的,但我想保留所有学生的历史记录,这样他们就可以来检查他们过去的表现