php - 在每个 foreach 中使用多个 foreach 插入仅在每个 foreach 中获取最终值
问题描述
我目前正在研究一个评估系统。问题是动态创建的/
所以我已经尝试从不同的输入字段中插入值,我使用输入类型文本而不是单选按钮。我的代码只是插入从每个 foreach 循环中获取的最后一个值。
<?php
session_start();
include('connectDB.php');
$userId= $_SESSION['id'];
mysqli_query($conn,"UPDATE student SET evaluationId = 1 WHERE studentId='$userId'");
foreach($_POST['nPersonnelId'] as $personnelId ){
for ($i=0; $i<count($_POST['rCourteous']); $i++){
$rCourteous = $_POST['rCourteous'][$i];
}
for ($i=0; $i<count($_POST['rPrompt']); $i++){
$rPrompt = $_POST['rPrompt'][$i];
}
for ($i=0; $i<count($_POST['rCompetent']); $i++){
$rCompetent = $_POST['rCompetent'][$i];
}
for ($i=0; $i<count($_POST['rAccom']); $i++){
$rAccom = $_POST['rAccom'][$i];
}
mysqli_query($conn,"INSERT INTO qpanswer
(studentId,personnelId,courteous,prompt,competent,accommodating)
VALUES ('$userId','$personnelId','$rCourteous','$rPrompt','$rCompetent','$rAccom')");
}
header('location:studentDashboard.php');
?>
解决方案
您不需要所有内部循环,只需从外部循环获取索引并将其用于所有内部数组。所以这里$i
从foreach
关键...
foreach($_POST['nPersonnelId'] as $i => $personnelId ){
$rCourteous = $_POST['rCourteous'][$i];
其他每个字段都相同。
同样正如所指出的 - 使用准备好的语句。
推荐阅读
- db2 - 使用 IBM db2 打开控制台时出现错误
- python - Python 仅在一列中读取 csv
- sql - 获取 SQL Server 层次结构中的所有最后成员
- python - Python:如何保留具有特定值的列表?
- mapbox - MapBox GL JS - 在图层上设置多边形 Z 顺序
- prestashop - 为什么 Prestashop 不会在前台用 https 替换 http 链接?
- php - 为什么我的表单数据没有通过 SendGrid 发送
- java - 系统在运行 kotlin 文件时给出运行时错误和警告
- vba - 在 Access 中使用 FindNext
- unreal-engine4 - 新手尝试在蓝图中整理东西