gpt4 book ai didi

php - while 循环内有多个单选按钮

转载 作者:行者123 更新时间:2023-11-29 18:43:07 24 4
gpt4 key购买 nike

大家好,我试图在这个程序中构建一个简单的类(class)出勤系统,首先我从名为 class1 的表中获取姓名值,然后我尝试将该姓名和出勤率插入到表名 class1attendance 中。但是,当我尝试提交它时,无论我选择第一个单选按钮,我都会为所有学生获得相同的值,例如,我有很多学生,第一个学生是理查德,当我选择理查德的当前单选按钮时,我将当前存储在我的数据库中以供其余部分使用学生。这是我的代码

<?php 

include('header.php');
include('mysqli_connect.php');
echo "<br> <br>";

$q = "SELECT CONCAT(first_name, ' ', last_name) AS Name FROM class1";

$r = mysqli_query($dbc, $q);

echo '<div class = "container">';

echo '

<table>

<tr class = " w3-padding w3-green w3-xlarge "> <td> Student Name </td>

<td> Absent/Present </td>

</tr>';

$attendance ;

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$attendance ;
if($_POST['attendance'] == 'present')
{
$attendance = 'present';
}
else
{
$attendance = 'absent';
}

}

while($row = mysqli_fetch_array($r))
{
$name = $row['Name'];
$q1 = "INSERT INTO class1attendance(s_id, first_name, attendance) VALUES (0, '$name', '$attendance')";

$r1 = mysqli_query($dbc, $q1);
echo '<tr>
<td>' . $name . '</td> <td>
<form method = "post" action = "">
Present <input type = "radio" name = "attendance" value = "present" class = "w3-radio">
Absent <input type = "radio" name = "attendance" value = "absent" class = "w3-radio">
</td>
<td>
<input type = "submit" name = "submit" value = "Submit Attendence" class = "w3-btn w3-green w3-round">
</td>
</tr>
</form>';;


}


echo '</div>
</table>';


?>

最佳答案

您的所有单选按钮组都需要唯一的名称

每个学生都有一个组:“缺席”和“出席”。

所以你需要做类似的事情

name=" $first_name + $last_name +'attendance'"  

不知道 php 但这就是这个想法。否则,您只会生成一个 radio 组,因此会获得一个值。

____编辑____

最终,您希望 HTML 如下所示:

<table>
<!-- radio group 1 -->
<tr>
<td>
John Doe
</td>
<td>
<label for="JohnDoe0">
Absent
<input id="JohnDoe0" type="radio" name="JohnDoe_attendance" value="absent"/>
</label>
</td>
<td>
<label for="JohnDoe1">
Present
<input id="JohnDoe1" type="radio" name="JohnDoe_attendance" value="present"/>
</label>
</td>
</tr>
<!--/ end radoi group 1 -->

<!-- radio group 2 -->
<tr>
<td>
Jane Doe
</td>
<td>
<label for="JaneDoe0">
Absent
<input id="JaneDoe0" type="radio" name="JaneDoe_attendance" value="absent"/>
</label>
</td>
<td>
<label for="JaneDoe1">
Present
<input id="JaneDoe1" type="radio" name="JaneDoe_attendance" value="present"/>
</label>
</td>
</tr>
<!--/ end radoi group 2 -->
</table>

因此,为了正确接收您的值,每个单选组的每个名称都必须是唯一的。

因此,如果您有 20 名学生,则您有 20 个唯一的 name 属性。每个学生都有 2 个单选按钮。这两个单选按钮都得到这个名字。

注意:我不会将表单放入表格中。我会使用 CSS 来格式化表单。但是,我会在表格中显示该表单的结果。

关于php - while 循环内有多个单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44815500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com