Php 使用WHILE循环向数据库添加多行

Php 使用WHILE循环向数据库添加多行,php,jquery,mysqli,while-loop,Php,Jquery,Mysqli,While Loop,我有一个系统可以将学生分数插入数据库。当用户输入分数时,他/她输入许多学生的分数(至少30分)(以表格格式),因此表格中有学生姓名标签和用于输入分数的输入字段 我的挑战是当只有一个学生被输入数据库时。其余的不被插入 当我按下“添加”按钮时,如何将我为其输入分数的所有学生插入数据库 下面是我的代码。 HTML/表单代码 while($row = $marks_query->fetch_assoc()) { $student_id=$row["student_id"]; $student_n

我有一个系统可以将学生分数插入数据库。当用户输入分数时,他/她输入许多学生的分数(至少30分)(以表格格式),因此表格中有学生姓名标签和用于输入分数的输入字段

我的挑战是当只有一个学生被输入数据库时。其余的不被插入

当我按下“添加”按钮时,如何将我为其输入分数的所有学生插入数据库

下面是我的代码。 HTML/表单代码

while($row = $marks_query->fetch_assoc()) {

$student_id=$row["student_id"];
$student_name=$row['student_lastname'].' '.$row['student_midname'].' '.$row['student_firstname'];

echo '<tr>

<td class="align-middle">' . $student_name.'</td>';
?>  
    <td class="align-middle"><input type="number" class="form-control marks" placeholder="Enter Marks" name="marks" ></td>


<?php
echo '</tr>';
}

?>
<input type="hidden" name="class_list" id="class_list" value="<?php echo $class_list;  ?>" >
<input type="hidden" name="subject_list" id="subject_list" value="<?php echo $subject_list;  ?>" >
<input type="hidden" name="teacher_id" id="teacher_id" value="<?php echo $teacher_id;  ?>" >
<input type="hidden" name="assessment" id="assessment" value="<?php echo $assessment;  ?>" >
<input type="hidden" name="student_id" id="student_id" value="<?php echo $student_id;  ?>" >

</tbody>

</table>

<button  class="btn btn-outline-primary col-md-auto float-right" name="add_marks" id="add_marks"  onclick="addMarks();">Add Student Marks</button>

<script type="text/javascript">


<script type="text/javascript">


    function addMarks(){
var class_list = "<?php echo $class_list; ?>";
var student_id = "<?php echo $student_id; ?>";
var subject_list = "<?php echo $subject_list; ?>";
var teacher_id = "<?php echo $teacher_id; ?>";
var assessment = "<?php echo $assessment; ?>";
var marks=$("#marks").val();


        $.ajax({
        type:"POST",
        url:"insert_marks.php",
     data: { class_list: class_list, subject_list: subject_list, student_id: student_id,teacher_id:teacher_id,assessment:assessment,marks:marks },
        success:function(data){






        }
    });
}


</script>


如果您以字符串形式发送所有数据,那么在数据库中只会创建一条记录。您应该将所有数据作为数组发送,然后使用
for
循环遍历数组,然后在
for
循环的每个周期将数组中的数据发送到db。如果您需要任何帮助,请在此处询问。

您有
接下来要做的事情是将
mysqli_query()
放入循环中。您发送的所有数据的类型是什么,是字符串、数组等。我发送的数据类型是字符串
addMarks()的次数是多少
function executed?请提供此代码的输出或预期输出:
var class_list=“”;var student_id=“”;var subject_list=“”;var teacher_id=“”;var评估=”;var marks=$(“#marks”).val()例如Class\u list=1,student\u id=STUD\u 234,subject\u list=2,teacher\u id=teacher\u 45,assessment=2,marks=67每个学生只有一个字符串(例如
var student\u id=“STUD\u 234”
),还是有更多的字符串(例如
var student\u id=“STUD\u 234,STUD\u 235”
)?更多的字符串之间的分隔符是什么?



$assessment=$_POST['assessment'];
$class_list=$_POST['class_list'];
$subject_list=$_POST['subject_list'];
$marks=$_POST['marks'];
$teacher_id=$_POST['teacher_id'];
$student_id=$_POST['student_id'];



$insert_sql=mysqli_query($conn,"INSERT INTO `aza_assesmentxmarks`(`id`, `student_id`, `teacher_id`, `assessement_id`, `subject_id`, `class_id`, `mark`, `date`) VALUES (NULL,'$student_id','$teacher_id','$assessment','$subject_list','$class_list','$marks',NOW())") or die(mysqli_error());

echo $marks;
?>