php - 将多个输入作为单独的 POSTS 发送 - PHP
问题描述
我知道这可能听起来很奇怪,但让我解释一下。
我有一个系统,我可以在其中上传一个项目(我有一个表格项目),每个项目都有多个活动。
出于这个原因,我创建了另一个名为 activity_project 的表,并将表与具有项目 ID 的表 activity_project 中的外键链接。
到这里一切都很好。我将这些字段分为两种形式,第一种捕获有关项目的一般信息,并通过 ajax 我发送如下数据:
const datosProy = new FormData();
datosProy.append("lider", liderProy);
datosProy.append("folio", folioProy);
datosProy.append("nombre_proyecto", nombreProy);
datosProy.append("nombre_cliente", nombreClienteProy);
datosProy.append("id_laboratorio", idLabProy);
datosProy.append("tipo_proy", idTipoProy);
datosProy.append("fecha_entrega", fechaEntrega);
datosProy.append("archivo", archivo);
datosProy.append("comentarios", comentarios);
$.ajax({
url:"ajax-load/proyecto.ajax.php",
method: "POST",
data: datosProy,
cache: false,
contentType: false,
processData: false,
success: function(respuesta) {
if (respuesta == "error") {
// Show error
} else {
// Say everything's fine
// Show activities div
}
}
我可以发布项目,然后在传递数据之后,我会显示带有其他表单和输入的 div,以便用户可以解释活动是什么。
问题是,正如我所想的那样(如果你知道的话,你可以给我一个更好的方法),每个输入将代表我的 activity_project 表中的一行。所以我想用ajax来做这个,对于每个有一些文本的输入,我会调用ajax函数并将数据上传到我的表
以下是我在表单中输入输入的方式:
<?php
for ($i=4; $i < 13; $i++) {
echo '
<div id="actividadMedical'.$i.'" class="input-group mb-2 mr-sm-2 divActivOculo">
<div class="input-group mb-3">
<div class="input-group-prepend">
<label for="actividadMedical'.$i.'" class="input-group-text">'.$i.'</label>
</div>
<input id_area="'.$idMedical.'" id="actividadMedical'.$i.'" name="actividadMedical'.$i.'" type="text" class="form-control text-center autocompleteMedical" placeholder="Descripción de actividad">
</div>
</div>
';
}
?>
如您所知,我为用户提供了几个输入,以便他们划分他们的活动(以及希望的想法)。这就是系统的请求方式,但我知道并不总是所有输入都会被填充。
我不太清楚的事情是在提交活动时注册最后一个项目ID(因为那将是我将活动链接到的项目),如果我应该说,有所有这些新活动,迭代并检查它们是否都有一些文本或单独检查,但是每次都会调用 ajax 函数,我不知道这是否是最佳解决方案。
//////////////////////////
更新
//////////////////////////
我修改了一点我的ajax调用,所以当我发布一个项目时,我会取回最后一个id。因此,当有一个新项目时,它会收到该 id,并且在对 activity_project 进行 POST 时不会对项目 id 产生任何混淆,所以现在是这样的:
success: function(respuesta) {
if (respuesta == "error") {
// Show error
} else {
// Say everything's fine
// Show activities div
lastId = respuesta;
}
}
解决方案
推荐阅读
- python - 将字符串写入 CSV 文件
- amazon-web-services - 使用带有 Terraform 挑战的 Powershell 为 AWS EC2 创建 EC2 用户数据
- xamarin.android - 使用屏幕旋转xamarin android处理textview的宽度
- c# - 我的 raycast 在 Unity 3D 中没有激活我的敌人死亡
- unity3d - Unity 的 Google In-App Review 插件错误:java.lang.ClassNotFoundException: com.google.android.play.core.review.ReviewManagerFactory
- thymeleaf - 为什么我在 Thymeleaf 中的锚标记没有重定向到本地文件
- reactjs - 无法输入材料ui文本字段(反应)
- arrays - 快速查找数组中的所有字符串都大于长度 4
- android - 在 Android Studio 中扩展颜色背景
- ios - 使用 Mapbox 时,是否可以在有限区域内滚动?