如何从while循环中自动切换单选按钮的名称? PHP

时间:2015-05-26 09:48:40

标签: php mysql

以下是该方案。在我的数据库中,我有4个问题。每个问题都有5个单选按钮。我试图从数据库中检索信息。它单独显示我的问题列表和单选按钮,但这里的大问题是它们属于同一组。例。在问题1中,我选择了第一个单选按钮,然后在问题2中,我选择了第二个单选按钮。在问题1中,我选择的单选按钮消失了。所以基本上。整个循环有单个单选按钮名称。我该如何动态修复它?比如为每个问题自动更改单选按钮名称?

<form method='post' action='test.php'>
<?php

include 'db_connect.php';

$query = "SELECT * FROM test";
$result = $conn->query($query);
$num_results = $result->num_rows;
#if ($num_results > 0) {
#}

while ($row = $result->fetch_assoc())  {
    extract($row);

    echo $row['test1'];

    echo "<input type='radio' name='question_button' value='1'>";
    echo "<input type='radio' name='question_button' value='2'>";
    echo "<input type='radio' name='question_button' value='3'>";
    echo "<input type='radio' name='question_button' value='4'>";
    echo "<input type='radio' name='question_button' value='5'>";
    echo "<br>";

}






$testbutton = isset($_POST['question_button']) ? $_POST['question_button'] : "";

if (isset($_POST['submit'])) {
    echo $testbutton;
} 


?>

<html>




<input type='submit' name='submit' value='submit'>

</form>


</html>

here is the sample question

P.S。编辑。我的初衷是添加或获取单选按钮的总和。我应该使用什么语法?

3 个答案:

答案 0 :(得分:3)

动态更改按钮名称 改变如下

$question=0;
while ($row = $result->fetch_assoc())  {
    extract($row);

    echo $row['test1'];
    $question++;
    echo "<input type='radio' name=".$question." value='1'>";
    echo "<input type='radio' name=".$question." value='2'>";
    echo "<input type='radio' name=".$question." value='3'>";
    echo "<input type='radio' name=".$question." value='4'>";
    echo "<input type='radio' name=".$question." value='5'>";
    echo "<br>";

}

$question就是例如,

您可以根据需要更改redio按钮名称。

答案 1 :(得分:0)

我无法看到您的数据库查询产生了什么,但我猜你应该在数据库字段中为您的问题分配单选按钮ID。然后,当您获得结果时,可以为其分配如下内容:

{{1}}

}

只要数据库中的数据是唯一的,这应该使每个单选框都是唯一的。如果这没有帮助,我可以看到数据库查询的结果,我可以编辑我的答案。

答案 2 :(得分:0)

简单地给单选按钮指定一个组名称,如下所示

// 1. Get the handler for counter.
$counter = 1;

// 2. Iterating through the results.
while ($row = $result->fetch_assoc())  {

    $name = "question_" . $counter . "_button";

    extract($row);

    echo $row['test1'];

    echo "<input type='radio' name=$name value='1'>";
    echo "<input type='radio' name=$name value='2'>";
    echo "<input type='radio' name=$name value='3'>";
    echo "<input type='radio' name=$name value='4'>";
    echo "<input type='radio' name=$name value='5'>";

    // Increment the counter by 1 for each question.
    $counter += 1;

}