关于如何使用php和jQuery创建测验的提示和建议

时间:2011-07-28 13:45:24

标签: php jquery

我确实想在此网站上创建一个测验

  

Quiz

如何使用php和jQuery完成此操作?还是有其他方法可以不使用闪光灯

我从中得到了一个想法,我的问题是如何用这个

实现计时器

Creating a Quiz with jQuery

由@Fatih回答并提出

1 个答案:

答案 0 :(得分:3)

显然我不知道我的路由器位;然而,进行测验可能非常容易构建(硬编码)或者很难构建(数据库驱动)。第一个很难在以后改变,而第二个很容易。

这真的取决于你想要做什么,两者都非常适合php和jQuery。

  1. 我会设置一个问题,答案和用户响应的数据库。
  2. 然后我会创建一些php页面,一个供用户查看/quiz.php,一个用于我的jQuery将数据发布到/ajaxhelp.php(由$.post()访问)
  3. ajaxhelp.php将根据后续参数返回JSON数据。 Mabye为“nextQuestion”提出了一个问题+4个答案,然后jQuery将为每个答案生成带有几个单选框的表单
  4. 用户选择他们的答案,然后你$.post()回来; ahaxhelp.php检查数据库以查看是否将其标记为正确答案,并返回结果。
  5. jQuery获取“nextQuestion”并创建一个新表单
  6. 显示结果摘要
  7. 修改

    在您对静态数据发表评论之后,这个简单的html页面应该可以帮助您入门:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>
    
            <script type="text/javascript">
                var q1wa = 
                { 
                    Question: 'Question One Text', 
                    Answers: 
                    [ 
                        { AText: 'Answer1 Text', RightAnswer: true },
                        { AText: 'Answer2 Text', RightAnswer: false },
                        { AText: 'Answer3 Text', RightAnswer: false }
                    ]
                };
    
                $(document).ready(function () {
                    $('#question').html(q1wa.Question);
                    for(var i = 0; i < q1wa.Answers.length; i++) {
                        $('#answers').append(q1wa.Answers[i].AText + "<br />");
                    }
    
                });
        </script>
        </head>
        <body>
            <div id="question"></div>
            <div id="answers"></div>
        </body> 
    </html>
    

    应该注意的是,使用此方法,任何关心查看源的人都可以看到您的“正确”答案,但这是一个很好的起点。通过回答验证服务器端而不是客户端来整合php部分以保持答案秘密也不难。