在这个项目中,我正在为老师创建一个出勤用户界面。老师可以在这里更新学生的分数,这些分数将直接更新到MYSQL数据库中。下面显示了我用来从数据库中回显学生列表的代码。在这里,我在输入部分使用了数组,即name =“ gradeEdit []”。
TeacherGrades.php
<?php
$con=mysqli_connect("#", "#", "", "#");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query ($con,"SELECT ");
echo ' <form method="POST" action="teacherGrades.php">
<table class="tableEchoPupil" border="1">
<tr>
<th>Name</th>
<th>Edit</th>
</tr>';
while($row = mysqli_fetch_array($result))
{
echo "<tr>
<td>" . $row['name'] . "</td>
<td> <input type='text' name='gradeEdit[]' /> </td>
</tr>"; }
echo "<input class='gradeSubmit' type='submit' name='btnSubmit' value='Submit'>";
echo "</table>";
echo "</form> <br/>";
?>
下面显示了存储在此页面开头的代码[teacherGrades.php]。当教师输入新成绩并单击上一个代码中的“提交”按钮时,这些成绩必须在数据库中更新。但是问题是,我无法正确更新它。我认为我的代码背后存在一些问题,请您检查并帮助我。如果还有其他问题,我准备回答。
先感谢您。
<?php
$con=mysqli_connect("#","#","","#");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if ($_POST['btnSubmit']){
$gradeEdit = $_POST['gradeEdit'];
foreach ($gradeEdit as $key => $value) {
$grades = implode(',', $gradeEdit);
$query = "UPDATE classroom_student_teacher SET marks = '$grades'
WHERE teacher_id = $userid AND classroom_id = $id";
$close = mysqli_query($con, $query);
}
}
?>
您应该在输入框中输入学生的姓名或身分证。这意味着row-1_key => row-1_value。
<input type='text' name='gradeEdit[".$row['student_id']."]' />
上一行用于表单输入。让我知道您要为老师还是所有学生更新数据。向我说明表结构。
如果要保存数组值。使用下面的行
foreach ($gradeEdit as $key => $value) {
//use $key as row id and marks will be your $value. So change your query like this below.
$row_id=$key+1;
$query = "UPDATE classroom_student_teacher SET marks = '$value'
WHERE student_id=$row_id AND teacher_id = $userid AND classroom_id = $id";
AND教师ID = $用户ID AND教室ID = $ ID为什么使用此条件
$close = mysqli_query($con, $query);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句