在我的系统中,管理员创建一个投票并将其发布到全世界,以便拥有投票链接的用户可以回答它。
有一些问题旨在接收多个答案,因此用户可以在一个响应中选择多个分散注意力。
DB中的响应表结构
- ID
- ActivityID - 投票 ID
- 价值——地区价值
- 时间响应
在数据库中,我目前正在分别保存每个响应。
我给你举个例子 假设投票中有 4 个区 (a,b,c,d) 用户选择以下区 (a,b,c)
响应表将如下所示:
ID ActivityID Value TimeResponse
1 234 a 01/01/2012
2 234 b 01/01/2012
3 234 c 01/01/2012
因此,如果我尝试计算 ID,我将得到数字 3,它代表已回答的地区数是给定的民意调查。
但是我需要给定民意调查中每个用户的响应数量,所以我需要以某种方式将这两者结合起来......
到目前为止,我考虑了以下解决方案,但它们都不是很好。
- 第一个解决方案是添加一列用户的IP,但有时我无法获取用户的IP。
- 第二种解决方案是使用 sessionIDManager 添加用户的 sessionID 列,但如果用户回答两次(2 个响应),它将存储相同的会话 ID。
仅供参考,回答民意调查的用户是匿名的。
并且系统要求之一是允许用户多次回答民意调查