我想创建一个考勤记录表格,教师可以记录学生的出勤率并将其发送到数据库进行存储。在这里,我使用单选按钮,我希望这些按钮只选择存在或不存在或授权,但是现在它没有实现我想要做的事情。现在选择单选按钮不能正常工作所以你能不能让我以特定方式放置单选按钮,以便它只选择存在或不存在或授权。我认为我们必须使用CSS或javaScript来表示这种HTML表单语法,但问题是如何。先感谢您。
echo '<table action="process.php" method="POST" class="tableEchoPupilAttendance" border="1">
<tr>
<th>Image</th>
<th>Name</th>
<th>Present</th>
<th>Absent</th>
<th>Authorise</th>
</tr>';
while($row = mysqli_fetch_array($result))
{
echo "<tr>
<td><img width='70' height='60' src='data:image/jpeg;base64,".base64_encode($row['image'])."'/></td>
<td>" .$row['name']. $row['surname']."</td>
<td> <input type='radio' name='present' value=''/> </td>
<td> <input type='radio' name='absent' value=''/> </td>
<td> <input type='radio' name='late' value=''/> </td>
</tr>";
}
echo "</table>";
答案 0 :(得分:0)
单选按钮按name
属性分组。要使每行上的三个单选按钮中只有一个可选,他们的name
必须相同,并且所需的值存储在value
属性中。
我认为假设你的结果行有某种id
,这是公平的。因此,以下代码可能有效:
while ($row = mysqli_fetch_array($result)) {
?>
<td><input type="radio" name="att[<?=$row['id'];?>]" value="present" /><td>
<td><input type="radio" name="att[<?=$row['id'];?>]" value="absent" /><td>
<td><input type="radio" name="att[<?=$row['id'];?>]" value="late" /><td>
<?
}
提交此内容将为您提供包含以下内容的数组:
[1] => 'present',
[3] => 'absent',
[4] => 'present',
[6] => 'late'
使用数值通常是一个好主意,但代码不会是可读的。
答案 1 :(得分:-1)
单选按钮只有在具有相同名称时才会进行分组。所以你想要做的是:
<td> <input type='radio' name='attendance[<?php print $row['id']; ?>]' value='present'/> </td>
<td> <input type='radio' name='attendance[<?php print $row['id']; ?>]' value='absent'/> </td>
<td> <input type='radio' name='attendance[<?php print $row['id']; ?>]' value='late'/> </td>