Php 在数据库中存储考试数据的最佳方法

Php 在数据库中存储考试数据的最佳方法,php,mysql,database,Php,Mysql,Database,我希望实现一个新的数据库,并将学生的考试数据和分数存储在数据库中。有任意数量的学生,每个学生有任意数量的模块和相应的分数。我需要创建数据库,以便我能够查询数据库并返回学生姓名,后跟每个模块和相应的分数,然后转到下一个学生。这是因为我想用PHP显示它,用粗体显示学生姓名列表,然后显示他们的模块和分数表 我最初考虑这样组织桌子: |学生姓名|模块|结果| 对于学生获取的每个模块都有一个新条目,只存储多个学生,但我不知道如何查询数据库并分别检索每个学生名,然后能够循环遍历相应的模块和结果,将其存储在H

我希望实现一个新的数据库,并将学生的考试数据和分数存储在数据库中。有任意数量的学生,每个学生有任意数量的模块和相应的分数。我需要创建数据库,以便我能够查询数据库并返回学生姓名,后跟每个模块和相应的分数,然后转到下一个学生。这是因为我想用PHP显示它,用粗体显示学生姓名列表,然后显示他们的模块和分数表

我最初考虑这样组织桌子:

|学生姓名|模块|结果|

对于学生获取的每个模块都有一个新条目,只存储多个学生,但我不知道如何查询数据库并分别检索每个学生名,然后能够循环遍历相应的模块和结果,将其存储在HTML表中

如果您有任何想法,我们将不胜感激
  • 为每个表指定一个自动递增的id字段
  • 例如,在需要将结果链接到模块的地方,可以添加 moduleID字段添加到结果表,以将结果绑定到模块。 然后,您将使用联接进行查询,以引入这两组数据
  • 要将学生与模块联系起来,您需要另一个具有 studentID字段和ModuleID字段。然后查询这个表 并加入StudentName和Module,以获取相应的数据 每个

  • 首先,您需要几张桌子。一张桌子做不到。为每种类型的对象创建一个表。在这种情况下,您需要一个学生表和一个模块表

    两个表都需要一个id列来标识行。在它们上创建主键

    学生表:Id,学生名
    模块表:Id,ModuleName

    学生和模块之间存在多对多关系(每个学生可以有多个模块,每个模块可以由许多学生选择)。多对多关系需要一个单独的表

    您不清楚每个学生和模块是否有一个等级。如果只有一个等级,最好的解决方案是将该等级包含在此关系表中

    成绩表:Id、学生Id、模块Id、成绩


    我可以添加每个学生可能学习不同数量和模块集,因此没有办法循环通过这种方式哦,我明白了,因此我可以查询学生表以获得学生列表,然后循环通过学生检索联接表的数据,谢谢!我会在7分钟内接受你的回答,一旦我能够阅读加入。您可以在一个sql查询中获得学生信息、模块信息等: