我有多项选择题测验脚本。每次登录后,用户每次测验可以回答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";}