我有一个小问题,我在过去的16个小时里一直在努力,我可以找到解决这个问题的办法……我真的真的需要一些帮助。
我有一个基于用户ID的查询生成的表单...
ID-1 Question 1
rad-btn ID-1 group 1 value 0 answer x
rad-btn ID-2 group 1 value 0 answer x
rad-btn ID-3 group 1 value 0 answer x
ID-2 Question 2
rad-btn ID-4 group 2 value 0 answer x
rad-btn ID-5 group 2 value 0 answer x
rad-btn ID-6 group 2 value 0 answer x
ID-4 Question 3
rad-btn ID-6 group 4 value 0 answer x
rad-btn ID-7 group 4 value 0 answer x
rad-btn ID-8 group 4 value 0 answer x为了获得这个“表单”,我使用了如下的sql
$padreQR = mysql_query("SELECT * FROM ph_sec_preguntas WHERE s_codigo = '$secc1' ");
while ($arrayP = mysql_fetch_array($padreQR)) {
$preguntasPP = $arrayP['pregunta_id'];
$preguntass = mysql_query("SELECT * FROM preguntas_p WHERE question_id = '$preguntasPP' ");
while ($q1 = mysql_fetch_array($preguntass)) {
$qid = $q1['question_id'];
$pp1 = $q1['question'];
$er = $qid;
echo '"<h3>' . $pp1 . '</h3>'; // Ya tenemos las preguntas segun el usuario
$rrr = mysql_query("SELECT * FROM respuestas WHERE question_id = '$qid' ");
while ($arrayRR = mysql_fetch_array($rrr)) {
$respuestas = $arrayRR['answer'];
$correcto = $arrayRR['correct'];
echo '<label style="cursor:pointer;"><input type="radio" name="' . $er . '" value="' . $correcto . '">' . $respuestas . '</label>';
}
}
};这可能不是最好的方法,因为它是有效的。
所以我需要保存这些信息,但不是全部,我只需要:
userID, questionID, and the answer that was selected我的问题是,如何获得选中的单选按钮?从答案中获取ID,我不需要知道值,只需要知道选择了哪个单选按钮,这样我就可以从该按钮中获取ID,这样我就可以将其保存到SQL中,ID来自sql,值始终是1或0……
现在我只显示了3个带有多个选项的问题,但是我的想法是在一个页面中有大约20个问题……
感谢您抽出时间阅读我的问题……
发布于 2013-06-15 20:39:29
只需将每个值设置为ID,您就可以从$_POST数组中知道标记了哪些选项。
如下所示:
echo '<label style="cursor:pointer;"><input type="radio" name="preguntas[' . $pregunta_id . ']" value="' . $respuesta_id . '">' . $respuestas . '</label>';然后,当你把这段代码发布到你的php脚本中时,你会得到一系列的答案。
foreach($_POST['preguntas'] as $pregunta_id => $respuesta_id){
echo "RESPUESTA A PREGUNTA NUMERO $pregunta_id ERA $respuesta_id <br />\n";
}诸如此类的事情。
发布于 2013-06-15 21:05:25
假设你有这样的表单:
<form action="test.php">
<input type="radio" name="quest" value="q1" /> Pregunta 1<br/>
<input type="radio" name="ansq1" value="a1" /> Respuesta 1.1<br/>
<input type="radio" name="ansq1" value="a2" /> Respuesta 1.2<br/>
<input type="radio" name="ansq1" value="a3" /> Respuesta 1.3<br/>
<br/>
<input type="radio" name="quest" value="q2" /> Pregunta 2<br/>
<input type="radio" name="ansq2" value="a1" /> Respuesta 2.1<br/>
<input type="radio" name="ansq2" value="a2" /> Respuesta 2.2<br/>
<input type="radio" name="ansq2" value="a3" /> Respuesta 2.3<br/>
<br/>
<input type="radio" name="quest" value="q3" /> Pregunta 3<br/>
<input type="radio" name="ansq3" value="a1" /> Respuesta 3.1<br/>
<input type="radio" name="ansq3" value="a2" /> Respuesta 3.2<br/>
<input type="radio" name="ansq3" value="a3" /> Respuesta 3.3<br/>
<input type="submit" value="submit" />
</form>在test.php上,您将看到如下内容:
<?php
$pregunta = $_GET['quest'];
$respuesta = $_GET['ans'.$pregunta]; //Add the question to the index to filter the answer.
echo "Seleccionaste la pregunta: $pregunta y la respuesta: $respuesta";
?>如果需要安全性,您可以将此表单的方法更改为POST。
现在,您可以轻松地将这些值保存到DB中。为此,我建议您了解prepared statements的工作原理。此外,mysql_*函数已弃用,请尽量避免使用它们。请改用PDO或MySQLi。
https://stackoverflow.com/questions/17123675
复制相似问题