0

我有一个小问题,我在过去 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 个问题......

感谢您花时间阅读我的问题...

4

2 回答 2

0

只需将每个 Value 设置为 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-15T12:39:29.217 回答
0

假设你有这个表格:

<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。

现在,使用这些值,您可以轻松地将它们保存到数据库中。为此,我建议您了解准备好的语句是如何工作的。此外,不推荐使用 mysql_* 函数,请尽量避免使用它们。请改用PDOMySQLi

于 2013-06-15T13:05:25.433 回答