如何用逗号将测验结果保存到数据库中

how to save quiz results into database with seaparated by comma

本文关键字:保存 数据库 结果 何用逗      更新时间:2023-09-26

我有多项选择题测验脚本。每次登录后,用户每次测验可以回答10个问题。测试结束后,测试结果将保存到数据库中。结果存储如下:
id category_name user_id question_id answer_id time
1 php nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp;2 nbsp nbsp nbsp nbsp nbsp nbsp nbsp;1 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 3 nbsp nbsp nbsp nbsp nbsp nbsp 40
2 nbsp;php nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp;2 nbsp nbsp nbsp nbsp nbsp nbsp nbsp;2 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 3 nbsp nbsp nbsp nbsp nbsp nbsp 40
3 nbsp;php nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp;2 nbsp nbsp nbsp nbsp nbsp nbsp nbsp;3 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 2 nbsp nbsp nbsp nbsp nbsp nbsp 40
我如何存储测试结果,比如这样:
id category_name user_id question_id answer_id time
1 php nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp;2 nbsp nbsp nbsp nbsp nbsp nbsp nbsp;1,2,3,4 nbsp nbsp;3,3,3,4 nbsp 30,25,45,43 nbsp nbsp nbsp;

在数据库中以这种方式存储数据是个坏主意,您应该重新考虑您的解决方案。在未来,基于这样的数据进行报告将非常困难。

但是,如果要在数据库中存储这种格式的数据,则需要序列化数据。在php中,您可以获取一个结果数组并对其进行序列化。这将把它更改为字符串,您可以将其保存在数据库中。

之后,您可以通过从数据库中提取字符串并在其上运行unserialize命令来取回数据

$data = array('1','2','3');
$serialized = serialize($data); 
// $serialized will equal:
// a:3:{i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:" elem 3";}