首先,我要提前感谢您花时间帮助我。我正在使用多个单选按钮为我的学校制作出勤表。学生和他们的班级都在数据库中,当老师选择班级时,假设班级 7,那么班级 7 的所有学生姓名将作为列表填充到表格中。每个学生的名字旁边都会有三个单选按钮可供选择。这些值将是 Accepted 、 Not accepted 和 Tardy 。为了填充学生,我使用如下 Java 函数:(在 W3school 中找到)第一页。假设populate.php
<html>
<head>
<script type="text/javascript">
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a class:</option>
<?php
getClasses();
?>
</select>
</form>
<br />
</body>
</html>
<?php
// 而第二页将是offcourse users.php,如下所示:
$q=$_GET["q"];
$sql = "SELECT s.firstname, s.lastname, s.student_id, s.class_id, cl.class_id ".
" FROM students s ".
" INNER JOIN classes cl ON cl.class_id = s.class_id ".
" WHERE s.class_id =$q ";
$result = mysql_query($sql);
print '<table border="2">'.
'<tr>'.
'<th>Firstname</th>'.
'<th>Lastname</th>'.
'<th>Kind of absence</th>'.
'</tr>';
while($row = mysql_fetch_array($result))
{
print '<tr>'.
'<td>'.$row['firstname'].'</td>'.
'<td>'. $row['lastname'] . '</td>'.
'<td>'.
'<form method="post" action="getuser.php">'.
'<input type="radio" name="attendance[]"
value="1">Accepted</input>'.
'<input type="radio" name="attendance[]" value="2"> Not
accepted</input>'.
'<input type="radio" name="attendance[]" value="3"> Tardy</input>'.
'</form>'.
'</td>'.
'</tr>';
}
print '<tr>'.
'<td>'.
'<form method="post" action="getuser.php">'.
'<input type="submit" name="submit" value="Send">  '.
'</form>'.
'</td>'.
// 我不知道在哪里放置提交按钮表单。
print '</table>';
//我正在尝试的是获取单选按钮的所有值并将它们插入数据库中。
if (isset($_REQUEST['submit']) && $_REQUEST['submit'] != "") {
if(isset($_POST['attendance']))
{
$atendance = $_POST['attendance'];
for ($i=0; $i<sizeof($attendance);$i++) {
// 我不知道,但我知道我也必须在数组中收集 student_id,也许在这里
$sql2 = " INSERT INTO absence (student_id, attendans_id ) ".
" VALUES (".$student_id.", '".$attendance[$i]."') ";
mysql_query($sql2) or die(mysql_error());
}
}
}
//所以亲爱的PHP爱好者......我知道我做错了,但我不知道如何解决这个
问题,如果你能帮助我,我会很感激。再次提前感谢您。将为每个学生选择三个单选按钮。我的意思是除了每个名字之外,还有三个可供选择的替代品……三个单选按钮,每个学生都有接受、不接受和迟到的价值。
?>