我是 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
等等
最佳答案
好吧,基本上你想要
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
关于javascript - 如何为 "type"测验创建 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069422/