我正在为我的公司进行在线资质测试,该测试将从数据库中提取20个随机问题并将其显示在网页上进行回答。
但我在SQl数据库中存储已回答的值存在问题,请任何人都可以帮我解决这个问题,
<?php
$connect = mysql_connect("localhost","root","")
or die(mysql_error());
$sel=mysql_select_db("aptitude");
$query = mysql_query("SELECT * FROM `questions` ORDER BY RAND() LIMIT 20 ");
while($rows = mysql_fetch_array($query)){
$q = $rows['QNo'];
$qus = $rows['Question'];
$a = $rows['Opt1'];
$b = $rows['Opt2'];
$c = $rows['Opt3'];
$d = $rows['Opt4'];
$ans = $rows['Ans'];
echo "<b>Question:-<br></b>$qus <br>";
echo " <input type=radio name = 'answer[$q]' value = '$a'></input>$a    ";
echo " <input type=radio name = 'answer[$q]' value = '$b'></input>$b    ";
echo " <input type=radio name = 'answer[$q]' value = '$c'></input>$c     ";
echo " <input type=radio name = 'answer[$q]' value = '$d'></input>$d <br><br> ";
}
?>
但是我在用户点击提交按钮后尝试存储值:
if (isset($_POST['SUBMIT']))
{
$username=$_GET['username'];
$opt1=$_POST["answer1"];
$opt2=$_POST["answer2"];
mysql_query("insert into $username values('Q1','$answer1')")
or die(mysql_error());
mysql_query("insert into $username values('Q2','$answer2')")
or die(mysql_error());
}
答案 0 :(得分:0)
将mysql_query("insert into $username values('Q1','$answer1')")
转换为mysql_query("insert into $username values('Q1','$opt1')")
答案 1 :(得分:0)
首先,您应该创建表单并打印问题并在表单中回答相关数据,并在提交表单后,您应该获得您在表单中设置的所需数据。
在你的情况下 无需在表单中将变量值存储在变量中。你必须创建一个提交处理程序,你将获得选择选项和问题ID。将数据存储在数据库中。如果要创建结果表,则创建用于比较用户提交的答案和数据库答案的函数。
提交处理程序就像这样
if (isset($_POST['SUBMIT'])) {
if (isset($_POST['username']) && $_POST['username']){
$username = $_POST['username'];
}
if (isset($_POST['QNo']) && $_POST['QNo']){
$qno = $_POST['QNo'];
}
if (isset($_POST['answer']) && $_POST['answer']){
$answer = $_POST['answer'];
}
mysql_query("insert into 'your_table_name' values('values1','value2')")or die(mysql_error());}
如果需要更多帮助,请提供您的电子邮件ID,以便提供完整的模块。