我有多项选择测验脚本。每次登录后用户每次测验可以提出10个问题。在测验结束时,结果被保存到数据库中。结果存储如下:
id
category_name
user_id
question_id
answer_id
time
1
php
2
1
3
40
2
php
2
{ {1}} 2
3
40
3
php
2
3
2
我如何存储测验结果,如下所示:
40
id
category_name
user_id
question_id
answer_id
time
1
php
2
1,2,3,4
3,3,3,4
答案 0 :(得分:0)
以这种方式将数据存储在数据库中是一个坏主意,您应该重新考虑您的解决方案。将来很难根据这样的数据制作报告。
但是,如果要在数据库中以此格式存储数据,则需要序列化数据。在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";}