小编Sam*_*aby的帖子

在数据库中存储多项选择调查答案的最佳方式

我目前正在使用PHP/MySQL开发调查创建/管理Web应用程序.我已经经历了数据库表的几个修订,我再次发现我可能需要重新考虑某种类型的答案的存储.

现在,我有一个看起来像这样的表:

survey_answers

id          PK
eid
sesid
intvalue    Nullable
charvalue   Nullable
Run Code Online (Sandbox Code Playgroud)

id =分配给每一行的唯一值

eid =此答案的回答调查问题

sesid =调查"会话"(有关调查时间和日期的信息)id

intvalue =如果是数值,则为答案的值

charvalue =答案的值,如果它是文本表示

这使我能够继续使用MySQL的数学函数来加速处理.

然而,我发现了一个新的挑战:存储具有多个响应的问题.一个例子是:

您喜欢吃以下哪种食物?(选择所有申请)

  • 女童子军饼干
  • 培根
  • 玉米
  • 鲸鱼脂肪

现在,当我想存储结果时,我不确定处理它的最佳方法.目前,我有一个表只是为了多选项,看起来像这样:

survey_element_options

id        PK
eid
value
Run Code Online (Sandbox Code Playgroud)

id =与每行关联的唯一值

eid =与此选项关联的问题/元素

value =该选项的文本值

通过此设置,我将返回的多个选择答案存储在'survey_answers'中,作为在调查中选择的element_options行的逗号分隔id的字符串.(即类似"4,6,7,9")我想如果这确实是最好的解决方案,或者如果它是更实际的创建新表,将持有每个答案选择,然后引用回给定的答案行反过来引用回到元素并最终引用调查.


编辑

对于任何感兴趣的人,这是我最终采取的方法(在PhpMyAdmin关系视图中):

数据库关系和表结构

收集多选问题的计数的基本查询如下所示:

SELECT e.question AS question, eo.value AS value, COUNT(eo.value) AS count
FROM survey_elements e, survey_element_options eo, survey_answer_options ao
WHERE e.id = 19
AND eo.eid = e.id
AND ao.oid = eo.id
GROUP BY eo.value
Run Code Online (Sandbox Code Playgroud)

mysql sql database

8
推荐指数
1
解决办法
1万
查看次数

AngularJS 1.3页面不会在IE8中加载

作为一个有角色的用户,我对这个问题的标题感到不寒而栗,因为IE8是邪恶的化身,应该像狂犬病一样被放下.

话虽如此,我想知道是否有其他人遇到过在IE8中加载Angular 1.3的问题,并且在加载之前页面中断并且仅报告错误:Object Expected在使用isArray()函数的if条件上.(isArray()也可以在Angular 1.2中找到,所以它让我感到困惑,它在那里工作但在1.3中没有

为了让每个人都理解我的理由,我的公司最近采取了不再支持IE8进行新开发的步骤.但是我们的新UI只需要在初始登录页面上支持IE8,这样用户仍然可以访问支持IE8的旧软件.我希望我可以使用1.3,只是为着陆页写下小调整,直到它也从IE8下面出来.

首要问题:是否可以将Angular 1.3与IE8一起使用,或者在我们完全删除IE8支持之前,我是否会被迫使用1.2?

javascript internet-explorer-8 angularjs

5
推荐指数
3
解决办法
8336
查看次数

失踪 ; 在声明错误之前

我在firebug控制台中收到此错误,不知道如何解决它.我确信它是一些括号问题但不确定如何纠正它.有人可以在我的代码中指出错误吗?谢谢

$(function ()
{

    $.validator.setDefaults(
    {
        errorClass: 'form_error',
        errorElement: 'div'
    });

    $("#frmreport").validate(
    {
        rules:
        {

            dept:
            {
                required: true
            },
            email:
            {
                required: true
            },
            position:
            {
                required: true
            },
            feedback:
            {
                required: true
            }
        },
        messages:
        {

            dept:
            {
                required: "<br />* required: You must select a department"
            },
            email:
            {
                required: "<br />* required: You must select a customer address"
            },
            position:
            {
                required: "<br />* required: You must select a service level"
            },
            feedback:
            {
                required: "<br …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

-2
推荐指数
1
解决办法
130
查看次数