gpt4 book ai didi

PHP/MySql 测试应用程序

转载 作者:行者123 更新时间:2023-11-29 00:57:06 25 4
gpt4 key购买 nike

这是一个比较笼统的概念性问题,但我目前正在开发一个测试/测验应用程序,并且想要

a) 可以随时更改问题/答案/顺序

b) 在数据库中保存每个已完成的测试,并附上报告

我已经构建了后端(在 CI 中),因此有一种很好的用户友好方式来编辑问题,但我正在尝试考虑保存已完成测试的最佳方式,而不会浪费内存和空间。

问题是,如果我更改试题,我不希望它们改变人们过去所获得的存档结果。因此,我认为我需要在有人参加考试时对每个问题进行序列化,这样您就可以查看带有遗留问题的旧“成绩单”,即使这些问题不再存在。

虽然这看起来很庞大,但需要为某人参加的每个测试保存 40 多个问题。谁有更好的主意?

谢谢!

最佳答案

如果问题和问题的顺序偶尔会发生变化,那么我建议执行以下操作。

在问题表中,添加“版本”字段。每次您需要更改问题时,只需使用相同的引用文献但使用另一个版本号保存即可。在答案表中,保存问题的引用及其版本。或者,您可以将问题的版本保存在额外的表格中。

关于问题的顺序:如果顺序不是经常更改,或者如果顺序更改与问题更改同时发生,则可以将顺序号保存在版本控制表中。否则,问题顺序的实际功能位置可能在答案的版本控制表中。它就像问题的版本控制表,但它会保存问题的顺序和一个 Answer id,并且 Answer 表会多一个“version”字段。

插图:

[t_test]
- t_id
- t_title

[t_question]
- q_id
- test_id
- q_qood_answer
- q_current_version(而不是这个字段,你可以选择总是取最后一个版本)

[t_question_version]
- q_id
- q_version
- q_text
- q_order

[t_answers]
- a_id
- q_id
- q_version
- a_answer

关于PHP/MySql 测试应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com