PHP / MySQL测验应用程序评分问题

时间:2014-02-15 21:46:48

标签: php mysql database

我正在开发一个PHP / MySQL测验应用程序。该应用程序将跟踪用户在每个测验中得分的分数。我想获取用户为这些测验所获得的积分,并将它们组合成用户获得的总积分。我在下面包含了我的SQL表结构,它显示了我到目前为止的内容。

我的问题是如何创建一个表格来获得用户Bob的测验1,测验2和测验3的分数,然后将该分数添加到用户Bob获得的总分数中?

无论如何,这是代码:

CREATE TABLE IF NOT EXISTS `memberQuizNameResults` (
  `id_memberQuizNameResult` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) NOT NULL,
  `id_quiz` int(11) NOT NULL,
  `quizNamePointsEarned` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_memberQuizNameResult`),
  KEY `id_user` (`id_user`),
  KEY `id_quiz` (`id_quiz`),
  KEY `quizNamePointsEarned` (`quizNamePointsEarned`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `memberAllQuizzesTotalPoints` (
  `id_memberAllQuizzesTotalPoints` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) NOT NULL,
  `memberAllQuizzesTotalPoints` int(11) NOT NULL DEFAULT '0',
  `dateUpdated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id_memberAllQuizzesTotalPoints`),
  KEY `id_user` (`id_user`),
  KEY `memberAllQuizzesTotalPoints` (`memberAllQuizzesTotalPoints`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

目前,这两个表之间没有外键关系。是否需要建立关系或是否有办法进行某种加入?请记住:我想存储Bob在测验1上得到的分数,我还想将Bob的总分数存储在数据库中。我不想弄清楚总点数是多少,我想保存数据库中的总点数,以便我可以检索数字。

非常感谢你们,你们都很棒 - 杰森

0 个答案:

没有答案