从单选按钮获取值/答案并使用PHP将其存储在SQL数据库中

时间:2014-09-23 04:43:01

标签: php html mysql sql database

我正在为我的公司进行在线资质测试,该测试将从数据库中提取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 &nbsp &nbsp"; 
    echo " <input type=radio name = 'answer[$q]' value = '$b'></input>$b &nbsp &nbsp"; 
    echo " <input type=radio name = 'answer[$q]' value = '$c'></input>$c &nbsp &nbsp "; 
    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());

}

2 个答案:

答案 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,以便提供完整的模块。