以下是该方案。在我的数据库中,我有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>
P.S。编辑。我的初衷是添加或获取单选按钮的总和。我应该使用什么语法?
答案 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;
}