Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
其他提交的PHP MySQL日志_Php_Mysql_Sql_Forms - Fatal编程技术网

其他提交的PHP MySQL日志

其他提交的PHP MySQL日志,php,mysql,sql,forms,Php,Mysql,Sql,Forms,我有一个在线考试系统,一旦用户提交了考试表,它就会像这样在表中添加一行 员工ID |员工姓名|参加日期测试1 员工可以重新进行测试,因此我想用最近提交的日期替换“测试1的日期”,但是,我还想记录以前所有提交的日期 所以基本上我想要一个第二张表,上面有3个以前的提交,就像这样; 员工ID |上一次提交1 |上一次提交2 |上一次提交3 是否有可能让该员工在不同的日期重新获取该测试,因此在“进行日期测试1”中获取当前日期,将其移动到“上次提交1”下的另一个表中,并将当前日期放置在“进行日期测试1”中

我有一个在线考试系统,一旦用户提交了考试表,它就会像这样在表中添加一行

员工ID |员工姓名|参加日期测试1

员工可以重新进行测试,因此我想用最近提交的日期替换“测试1的日期”,但是,我还想记录以前所有提交的日期

所以基本上我想要一个第二张表,上面有3个以前的提交,就像这样; 员工ID |上一次提交1 |上一次提交2 |上一次提交3


是否有可能让该员工在不同的日期重新获取该测试,因此在“进行日期测试1”中获取当前日期,将其移动到“上次提交1”下的另一个表中,并将当前日期放置在“进行日期测试1”中?如果可能的话,它是否非常复杂?

我建议改进设计。似乎您的目标是保存每个员工和测试类型的运行记录。您的桌子应该是这样的:

EmployeeTest table: EmployeeID, EmployeeName, TestNum, DateTaken, Score
您可以在EmployeeTest表中为每个测试插入一行。然后,您可以编写如下查询:

select EmployeeID, EmployeeName, TestNum, DateTaken, Score from EmployeeTest order by DateTaken
按日期顺序查看员工的所有测试。或:

select EmployeeName, TestNum, max(DateTaken), Score from EmployeeTest where EmployeeID = 'joe' and TestNum = 1
获取测试1中员工“joe”的最新日期和分数

当然,EmployeeName应该被分解到Employee表EmployeeID,EmployeeName中,但我不想在这一点上混淆连接的问题


玩得开心…

你应该有一个测试id,这样每个测试环节都有自己的id,有自己的答案集。那么,一个人多久参加一次考试就无关紧要了。每个测试都有自己的记录集,可以唯一识别。这是个好主意,但我不会记录JS验证的测试答案/分数。我只记录了测试完成的时间。我还需要能够生成员工列表以及他们参加测试的时间,但只显示最近的尝试。总体计划是生成所有参加测试的员工的列表,但我只希望它显示最近的尝试。这涉及到执行foreach循环将所有内容回显到表中,但在select语句中,您使用ORDERBY仅显示该员工的最新结果。。我是否仍然能够将所有结果放在一个巨大的表格中,同时只显示每个员工最近提交的内容?这有意义吗?在这种情况下,您可以使用类似于第二个查询的查询,而无需选择员工并添加分组依据。这将返回所选测试中每个员工的最新条目。如下所示:选择EmployeeName、TestNum、MaxDateTake、Score from EmployeeTest,其中TestNum=1 group by EmployeeID,然后您可以按照描述循环查看结果。