我获得了一个设计学校门户的项目,但我遇到了如何实施学年的问题。
在那里的学校,有三个学期,每学期每个学生都要参加考试(40分)和主要考试(60分)。我面临的问题是如何设计数据库表,并从我的PHP代码自动调用表。这就是我所做的。
我创建了test
表并将其称为2013_test
和考试表2013_exam
,每个表都有student_id
,course_id
和{{1} } fields。
所以当PHP代码试图在mysql中查询表时:这就是我做的事情
term_of_yr
但我遇到的问题是第一个词从<?php
$term = date('Y');
$sql = "SELECT * FROM ".$term."_exam";
?>
开始到September
,第二个词从December
开始,第三个词january to April
,因此问题,随着年份的变化,代码中的表名也发生了变化,所以当我想在年May-June
中查看2013_exam
表时,代码将会读取2014
。我一直在考虑如何重做更好的东西,但这并不容易,这就是为什么我在这里,我需要有关如何实现这一点的帮助
答案 0 :(得分:0)
不是按年份命名表格,而是添加一列来包含年份。另外,表格名称不应以数字开头,除非您在选择查询中引用它们,如果上面的代码不是
$sql = "SELECT * FROM '".$term."_exam'";
答案 1 :(得分:0)
听听评论的意思:
您需要不同表的唯一原因是存储不相关的数据。例如:
因此,术语等级是一组单一的同类数据。将其保留在单个表中,这样您就可以按日期查询来过滤数据。您还可以设置脚本以按日期备份数据,如果不再需要信息,则修剪表格
祝你好运,听起来很有趣^^