就个人而言,我不会有每个年级的表。为什么?因为无论等级如何,所有数据都是相同的。如果您想添加“date_student_graduted”或“age_of_student”之类的列怎么办……您必须更新所有4个表。
相反,创建 1 个存储所有学生的表并有一列标识他们的成绩。
如果您现在想将学生与特定班级相关联,您可以通过给每个学生和班级一个特定的 id 来创建他们之间的关系(您可能已经这样做了)。
您将在学生数据库中创建一个列,其中包含“class_id”之类的内容,然后输入学生所在的班级 ID。
现在,例如,如果您想选择一个班级和该班级中的所有学生,您将首先选择班级,然后有一个循环进入数据库并选择每个学生,如果他们的 class_id 与当前班级 ID 匹配。
//Pseudo code
//select all classes
$classes = mysql_query('SELECT * FROM classes');
foreach($classes as $class) {
$class_id = $class['class_id'];
$students = mysql_query("SELECT * FROM students where class_id='$class_id' ");
echo "list of students in the class $class[name] <br>";
foreach($students as $stu) {
echo "$stu[name] <br>";
}
}