将所选答案保存在 php 中

save id with the selected answer in php

我正在尝试使用问题 ID 保存所选答案的结果。不知道如何将 id 传递给数据库。这是我的代码

<?php
session_start();
include('config/manpower_db.php');

$sql = mysql_query("SELECT * FROM question") or die(mysql_error());
$i = '1';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="save_feedback.php" method="post">
<H2> How Will You Rate This Service</H2>

<?php
while($row = mysql_fetch_array($sql))
{

echo  $row['question'];
  
 // $comp = $row['id'][$i];
  
 // $_SESSION['comp']= $comp;

?>
<br />
<?php


echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='1' >1";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='2' >2";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='3' >3";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='4' >4";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='5' >5";


echo'<br/>';
$i++;
}
?>
<br/>

<strong> NOTE:</strong> 1 - Very Poor, 2 - poor, 3 - Okay, 4 - Fair, 5 - Good
<p>

<input name="submit" type="submit" value="submit" />
</form>
</body>
</html>

保存到数据库

<?php
session_start();

$answer  = $_POST['answer'];

include('config/manpower_db.php');


   
   foreach($hobb as $key=>$val)
{
    $var1=$hobb[$key];
    $var2=$answer[$key];
   
         
            //include ('connect.php');
   //include ('mysql_connect.php');
            $table = "INSERT INTO answer (answer) ".
                     "VALUES ('$var2')";
            mysql_query($table) or die(mysql_error());
            $inserted_fid = mysql_insert_id();
            mysql_close();  
        }

  

echo'<script>alert("Inserted Successfully")</script>'; 

   
?>

这有效,但我正在尝试保存问题 ID。不知道如何将其传递给数据库。 提前致谢

在隐藏字段中传递 ID

试试这个

<?php
session_start();
include('config/manpower_db.php');

$sql = mysql_query("SELECT * FROM question") or die(mysql_error());
$i = '1';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="save_feedback.php" method="post">
<H2> How Will You Rate This Service</H2>

<?php
while($row = mysql_fetch_array($sql))
{

echo  $row['question'];

  $comp = $row['id'][$i];

 // $_SESSION['comp']= $comp;

?>
<br />
<?php


echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='1' >1";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='2' >2";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='3' >3";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='4' >4";
echo "<td> <input type='radio' name='answer[".$row['id']."]'  value='5' >5";

echo "<input type='hidden' name='question_id'  value=$comp >";


echo'<br/>';
$i++;
}
?>
<br/>

<strong> NOTE:</strong> 1 - Very Poor, 2 - poor, 3 - Okay, 4 - Fair, 5 - Good
<p>

<input name="submit" type="submit" value="submit" />
</form>
</body>
</html>

并保存数据文件

<?php
session_start();

$answer  = $_POST['answer'];
$question_id = $_POST['question_id'];

include('config/manpower_db.php');



            foreach($hobb as $key=>$val)
{
    $var1=$hobb[$key];
    $var2=$answer[$key];


            //include ('connect.php');
            //include ('mysql_connect.php');
            $table = "INSERT INTO answer (answer) ".
                     "VALUES ('$var2')";
            mysql_query($table) or die(mysql_error());
            $inserted_fid = mysql_insert_id();
            mysql_close();  
        }



echo'<script>alert("Inserted Successfully")</script>'; 


?>

在隐藏字段中传递 ID 如果只有一个按钮,则将您的 id 分配给 button

的值

您的问题是您为每一行分配了不同的 <input> 名称,这意味着每个输入本质上是一个不同的问题。因此,每个答案都会被发送到服务器,例如 $_POST['answer1'];$_POST['answer2'];

从您的输入中删除 [".$row['id']."]$answer = $_POST['answer']; 将导致仅存储选定的输入值,从而输入到数据库中。

请记住,您正在将输入 value 属性传递给服务器并使用 name 属性引用它。

我假设 $row['id'] 是从 questions table 中提取的唯一数字,所以这就是问题 ID。

因此在您的保存文件中从这一行开始。

$var2=$answer[$key];

$key为题号,可以用来保存。