【问题标题】:How to create MySQL database for "type" quiz如何为“类型”测验创建 MySQL 数据库
【发布时间】:2023-03-28 09:12:01
【问题描述】:

我是 HTML/PHP/JavaScript/MySQL 的新手。我有一个用 JS 和 HTML 编写的测验,但我认为我需要一个包含所有问题和答案的数据库。我正在使用 PHPmyAdmin 创建数据库和表。

我的测验是类型测验,有点像“你是哪种类型的____?” (例如颜色、狗、个性)因此,我的任何问题都没有 1 个真正的正确答案。

我不确定在我的数据库中包含哪些内容才能运行此测验。 如果对您有帮助,我将包含我的代码框架。如果这看起来含糊不清,我深表歉意。

JavaScript

<head>
<title>Questions</title>
<script language="Javascript">

function process()
{
var Ans1 = 0;
var Ans3 = 0;
var Ans4 = 0;
var Ans2 = 0;

var f = document.f;
var i = 0;

for (i = 0; i < f.q1.length; i++) if (f.q1[i].checked) value = f.q1[i].value;
    if (value == "1") { Ans3++; } <!--put in order with least likely answer first-->
    if (value == "2") { Ans4++; }
    if (value == "3") { Ans2++; }
    if (value == "4") { Ans1++; }

for (i = 0; i < f.q2.length; i++) if (f.q2[i].checked) value = f.q2[i].value;
    if (value == "1") { Ans3++; } <!--put in order with least likely answer first-->
    if (value == "2") { Ans4++; }
    if (value == "3") { Ans2++; }
    if (value == "4") { Ans1++; }

for (i = 0; i < f.q3.length; i++) if (f.q3[i].checked) value = f.q3[i].value;
    if (value == "1") { Ans3++; } <!--put in order with least likely answer first-->
    if (value == "2") { Ans4++; }
    if (value == "3") { Ans2++; }
    if (value == "4") { Ans1++; }

<!--Copy the above for loop for all subsequent questions, if needed-->

var out = "Ans1"; )<!--default value, Ans1-->
i = Ans1;

if (Ans4 > i) { out ="Ans4"; i = Ans4; } <!--ex. out = "Ans4"; i="Result4";-->
if (Ans3 > i) { out ="Ans3"; i = Ans3; }
if (Ans2 > i) { out ="Ans2"; i = Ans2; } <!--ex. out = "Ans3"; i="Result2";-->
location.href = out + ".shtml"; <!--I believe this should display results page, based on your computed result -->
}

function err(msg, url, line)
{
location.href = "error.html";
}

//window.onerror = err;
// -->
</script>
</head>

HTML 测验问题/答案选项

<body>
<?php include ('SiteMenu'); ?>
Answer the questions below...

<form name="f">

<b>What is your answer to question #1?<br></b>
    <input type="radio" name="q1" value="4">Ans1.<br>
    <input type="radio" name="q1" value="1">Ans3.<br>
    <input type="radio" name="q1" value="2">Ans4.<br>
    <input type="radio" name="q1" value="3">Ans2.<br><br>

<b>What is your answer to question #2?<br></b>
    <input type="radio" name="q2" value="2">Ans4.<br>       
    <input type="radio" name="q2" value="4">Ans1.<br>
    <input type="radio" name="q2" value="1">Ans3.<br>
    <input type="radio" name="q2" value="3">Ans2.<br><br>

<b>What is your answer to question #3?<br></b>
    <input type="radio" name="q3" value="4">Ans1.<br>
    <input type="radio" name="q3" value="1">Ans3.<br>
    <input type="radio" name="q3" value="2">Ans4.<br>
    <input type="radio" name="q3" value="3">Ans2.<br><br>

<!--Input more questions, if needed, here-->

Thank you for taking our quiz! <br>
<input type="button" value="Find my Result!" onclick="process();"><br><br>
</form>
</body>
</html> 

更新: 好的。对不起,只是想更好地理解如何输入表格。这就是我想你的意思? 我的数据库中有 2 个表:问题和答案 在问题表中,它看起来像:

qID      aID      qText
q1                What is your favorite color?
q2                This is the second question

等等

然后,我的答案表看起来像

qID      valID      aText
q1                  Green
q1                  Blue
q1                  Red
q2                  question 2 answer choice1
q2                  question 2 answer choice2

等等

【问题讨论】:

    标签: javascript mysql database


    【解决方案1】:

    嗯,基本上你想要的

    Questions, ID and Text
    Choices ID, QuestionID and the text
    

    答案只是

    QuestionID, ChoiceID
    
    
    Questions Table
    Id Text 
    1  'What is your favourite colour?'
    
    Choices Table
    Id, QuestionID, Text
    1   1           'Red'
    2   1           'Blue'
    3   1           'Green'
    4   1           'Pale Blue Green with yellow dots'
    
    Answers
    VictimID QuestionID ChoiceID
    (userID?)1          4
    

    【讨论】:

    • 我只需要数据库中的 2 个表吗?一个用来提问,另一个用来回答?在 Questions 表中:有问题 ID (q1,q2,...) & text (实际问题) 然后在 Answers 表中:问题 ID (q1,q2,...) 和choiceID(他们的答案的值)?是这个意思吗?
    • No Questions is 1, 'What is your favorite Colour, Choices is 1,1,'Mange' 1,2, Puce etc 如果你的受害者选择 puce,答案是 1,2。
    • 你的第二张桌子不是答案,而是选择。答案是您的受害者选择的答案。
    • 请查看我对原始帖子的编辑(我发布了更新),看看我是否理解您的意思
    • 哦,我现在看到你的编辑了,我会修改我的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 2012-04-11
    • 2012-04-12
    相关资源
    最近更新 更多