我刚刚学会了如何使用mysqli从数据库中获取内容。我正在尝试创建一个测验。这就是我在代码方面得到的:
<p class="question"><?php
error_reporting(0);
require 'connect.php';
if($result = $db->query("SELECT * FROM questions")){
if($count = $result->num_rows){
while($row = $result->fetch_object()){
echo $row->question, '<br>';
}
$result->free();
}
}
?></p>
<ul class="answers">
<form action="">
<input type="radio" name="q1" value="a" id="q1a"><label for="q1a">1</label><br/>
<input type="radio" name="q1" value="b" id="q1b"><label for="q1b">10</label><br/>
<input type="radio" name="q1" value="c" id="q1c"><label for="q1c">12</label><br/>
<input type="radio" name="q1" value="d" id="q1d"><label for="q1d">7</label><br/>
<input type = "submit" value="submit">
</form>
</ul>
这是
的输出1. The answer to 10+10 is?
//radio buttons here followed by submit.
基本上,我从数据库中得到了问题。
问题在于,如果我向数据库添加更多问题,它们将直接位于1以下.10 + 10的答案是?这是一个问题,因为输出将是:
The answer to 10+10 is?
The answer to 5+5 is?
The answer to 15+15 is?
//Radio buttons with answers from question 1
//Radio buttons with answers from question 2
//Radio buttons with answers from question 3
如何修改代码,以便可能的答案低于相应的答案?
答案 0 :(得分:0)
您需要在表格中添加可能的答案,因为可能的答案也会因问题而异。例如(10 + 10)我们的答案都不是你在html中提到的正确答案。然后使用循环显示问题以及可能的答案
Q_ID | question | ans1 | ans2 | ans3 | ans4 | answer
1 '10 + 10 is ?' 30 10 40 20 20
2 ' 5 + 5 is ?' 5 10 20 55 10
为此,表格创建将是这样的
CREATE TABLE IF NOT EXISTS `questions` (
`Q_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`question` char(150) NOT NULL,
`ans1` varchar(150) NOT NULL,
`ans2` varchar(150) NOT NULL,
`ans3` varchar(150) NOT NULL,
`ans4` varchar(150) NOT NULL,
`answer` varchar(150) NOT NULL,
PRIMARY KEY (`Q_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
在此之后,您需要通过多个INSERT
向数据库添加问题然后遍历从数据库中获取的结果集
for($i=0;$i<=$num;$i++)
{
$question = mysql_query("SELECT * FROM `questions` WHERE `Q_id`='$i'");
$quiz = mysql_fetch_assoc($question);
echo $quiz['question'] . '<br />';
echo '<input type="radio" name="' . $Q_id .'" value="' . $quiz['ans1'] . '" />' . $quiz['ans1'] . '<br />';
echo '<input type="radio" name="' . $Q_id .'" value="' . $quiz['ans2'] . '" />' . $quiz['ans2'] . '<br />';
echo '<input type="radio" name="' . $Q_id .'" value="' . $quiz['ans3'] . '" />' . $quiz['ans3'] . '<br />';
echo '<input type="radio" name="' . $Q_id .'" value="' . $quiz['ans4'] . '" />' . $quiz['ans4'] . '<br />';
$Q_id++;
}
最后这个网站不是为了提供完整的代码,我们可以在问题非常具体时提出建议并回答。对于所有嵌套问题,请自己做一些功课
请仔细阅读
指南