gpt4 book ai didi

php - 一次从多个输入更新表

转载 作者:行者123 更新时间:2023-11-29 07:00:35 25 4
gpt4 key购买 nike

<input type='text' class='inputmode' data-id=7 value = 'sky'>
<input type='text' class='inputmode' data-id=5 value = 'earth'>
<input type='text' class='inputmode' data-id=3 value = 'sea'>

js

var a = $('.inputmode').eq(0).data('id');
var b = $('.inputmode').eq(0).val();
$.ajax({
url: 'pro.php',
type: 'post',
data: {'a': a, 'b': b},
success: function(data) {
console.log(data);
}
});

php

$sql = "update mods set mode = :mode where id = :id";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":id" => $_POST['a'],
":mode" => $_POST['b']
));

这适用于第一个 .inputmode
目前,我对每个人重复此过程。
有没有办法一次性解决所有这些问题?

最佳答案

您的代码存在一些逻辑问题,

您有 3 个输入,并且始终将一个输入的值发送到 php 端。

所以从功能上来说,你的代码工作得很好。

并得到你想要的,

1)首先您需要推送所有输入值
2) 在 php 端迭代这些值,然后使用每个值更新数据库。

<小时/>

这是一个快速示例:

var inputmode = $('.inputmode');
var dataObj = []; // you data array
inputmode.each(function (k, v) {
var obj = {}; // your input data object
obj['id'] = $(this).data('id');
obj['value'] = $(this).val();
dataObj.push(obj); // pushing every input data object to your parent data array
});

$.ajax({
url: 'pro.php',
type: 'post',
data: {'data': dataObj},
success: function(data) {
console.log(data);
}
});

在您的 php 端,您将在关键元素“data”下收到一个数组 - 正如我们在 ajax 初始化中设置的那样 - 您将需要迭代该数组并执行查询,如下所示:

$stmt = $db->prepare($sql);

$data = $_POST['data'];

foreach ($data as $key => $value) {
$stmt->execute(array(
':mode' => $value['value'],
':id' => $value['id']
));
}

关于php - 一次从多个输入更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43627462/

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