P.S。我是php&的新手webform脚本;
目前我在MySQL数据库中有以下多项选择问题表:
|MCQ_ID|Question|Opt_1|Opt_2|Opt_3|Opt_4|Opt_5|
|1|What is the port|23|21|22|80|53
我的目标是在网络表单中创建一个测验,使用php脚本在哪里 (1)问题从数据库和数据库中选择。以多项选择形式显示,每个问题只有一个答案 (2)每个网络表格只应显示一个问题,因为会有一个计时器来记录特定问题的花费时间。
以下是我的开头脚本&我应该如何从这里实现上述目标?
<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
#wrapper {
width:950px;
height:auto;
padding: 13px;
margin-right: auto;
margin-left: auto;
background-color: #fff;
}
</style>
</head>
<body bgcolor="#e1e1e1">
<div id="wrapper">
<center><font fact="Andalus" size="5">Test Quiz</font></center>
<br /><br /><br /><br />
</div>
<?php
//Start Variables
$username = "root";
$password = "";
$database = "Test";
//End Variables
//Connect To Database
$link = mysql_connect(localhost,$username,$password) or die ('Could not connect :'. mysql_error());
mysql_select_db($database) or die( "Unable to select database");
//SQL Get Questions
$query = "SELECT * FROM MCQuestionBank";
$result = mysql_query($query) or die ('Query failed:'. mysql_error());
$row = mysql_fetch_array($result,MYSQLI_ASSOC);
//Get results
/*
while ($row = mysql_fetch_array($result,MYSQLI_ASSOC))
{
echo '<br> QuestionName : ' .$row{'Question'} ;
echo '<br> Option 1 : ' .$row{'MCQ_Opt1'};
echo '<br> Option 2 : ' .$row{'MCQ_Opt2'};
echo '<br> Option 3 : ' .$row{'MCQ_Opt3'};
echo '<br> Option 4 : ' .$row{'MCQ_Opt4'};
echo '<br> Option 5 : ' .$row{'MCQ_Opt5'};
}
*/
mysql_free_result($result);
mysql_close($link);
?>
</body>
</html>
答案 0 :(得分:1)
该表结构将无法管理。如果您要使用数据库,则需要对其进行标准化。问题在一张表中。另一个答案。这种方式更加灵活。例如,当一个问题需要有更多(或少于)5个选择时,你打算做什么?
获取关系数据库的一般背景知识,然后再回到问题所在。这可能是一个好的开始:
http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx
答案 1 :(得分:1)
www.echoecho.com/htmlforms10.htm
www.w3schools.com/html/html_forms.asp
www.w3schools.com将是学习这些东西的良好起点。
答案 2 :(得分:1)
正确地执行此操作并非易事。您应该使用至少三个不同的表: 1.包含您的问题和唯一身份证的表格。 2.一个包含你的答案的表,他们去的问题的id,以及一个表明它是真还是假的布尔值。 3.一种跟踪用户答案的方法。这应该至少将会话ID和id存储到答案中。如果没有这个,你将无法正确地对每页进行一个问题(现在你将所有问题都转储到一个页面上)。 4.用户表几乎是非可选的,在上表中有一个唯一id的字段(而不是会话ID)。
如果您阅读JOIN查询,让这些表互相交流并不困难。
一旦你有一个好的数据库设置,你就可以看看php了。我们都已经开始以你的方式做到这一点,我们预见到你的未来会有很多头发。