gpt4 book ai didi

php - 如何将数组输入存储到数据库中? MYSQL PHP 表单输入foreach

转载 作者:可可西里 更新时间:2023-11-01 08:47:21 26 4
gpt4 key购买 nike

在这个元素中,我正在为老师制作一个考勤用户界面。在这里老师可以更新学生的成绩,成绩会直接更新到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);
}
}
?>

最佳答案

您应该在输入框中输入学生姓名或 ID。这意味着 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 teacher_id = $userid AND classroom_id = $id你为什么使用这个条件

$close = mysqli_query($con, $query); 
}

关于php - 如何将数组输入存储到数据库中? MYSQL PHP 表单输入foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24739001/

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