0
问题遍历所有输入值
所以我的问题是,我有去到数据库并获取学生数据的一些PHP代码。然后该程序将学生信息输出到屏幕上。信息放在input
内,因为用户将能够编辑信息。当用户编辑信息并点击Update
时,我需要获取有关数据库更新的信息。我的问题是,我不知道如何循环所有输入。
PHP代码 - 当用户点击Update
foreach ($_POST as $data) {
echo $data . "<br>";
}
PHP代码 - 允许用户编辑
<form action="server/edit/students.php" method="post">
<table>
<tr>
<th>Student ID</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Teacher's Firstname</th>
<th>Teacher's Lastname</th>
</tr>
<?php
// get student info
$getStudent = $link->prepare("SELECT * FROM students");
$getStudent->execute();
$getStudent = $getStudent->fetchAll(PDO::FETCH_ASSOC);
foreach ($getStudent as $student) {
$studentID = $student['studentID'];
$firstname = $student['firstname'];
$lastname = $student['lastname'];
$teacherID = $student['teacherID'];
$getTeacher = $link->prepare("SELECT * FROM teachers
WHERE teacherID = :teacherID");
$getTeacher->execute(array(
"teacherID" => $teacherID
));
$getTeacher = $getTeacher->fetchAll();
foreach ($getTeacher as $teacher) {
$teacherFirstname = $teacher['firstname'];
$teacherLastname = $teacher['lastname'];
echo "
<tr>
<td><input type='text' value='$studentID'></td>
<td><input type='text' value='$firstname'></td>
<td><input type='text' value='$lastname'></td>
<td><input type='text' value='$teacherFirstname'></td>
<td><input type='text' value='$teacherLastname'></td>
</tr>
";
}
}
?>
</table>
<button type="submit" name="update">Update</button>
</form>
首先,我没有看到任何形式的标签。我想你只是忽略了那个?另一件事,你需要添加'name'-属性到你的输入字段,否则他们不会被发布。 –
我编辑了我的问题 –
我还建议您在第一次查询时使用'JOIN'来获取教师,而不是在每次迭代中再次调用数据库。 –