Php 一次从多个输入更新表
phpPhp 一次从多个输入更新表,php,mysql,Php,Mysql,php 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); } }); 这适用于第一个.inputmode 目前,我对他
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);
}
});
这适用于第一个.inputmode
目前,我对他们中的每一个人都重复这个过程。
有没有办法一次解决所有问题?使用表单序列化方法如下:
$sql = "update mods set mode = :mode where id = :id";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":id" => $_POST['a'],
":mode" => $_POST['b']
));
在Php中,您将获得
inputmode的数组
使用该数组在数据库中进行更新。使用表单序列化方法,如下所示:
$sql = "update mods set mode = :mode where id = :id";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":id" => $_POST['a'],
":mode" => $_POST['b']
));
在Php中,您将获得
inputmode的数组
使用该数组在数据库中进行更新。您的代码存在一些逻辑问题
您有3个输入,并且总是将一个输入的值发送到php端
因此,从功能上讲,您的代码运行良好
为了得到你想要的
1) 首先,您需要推送所有输入值2) 在php端,迭代这些值,然后用每个值更新数据库
下面是一个快速示例:
$.ajax({
url: 'pro.php',
type: 'post',
data: $('#frmData').serialize(),
success: function(data) {
console.log(data);
}
});
在php端,您将在关键元素“data”下收到一个数组——正如我们在ajax初始化中设置的那样——您需要迭代该数组并按如下方式执行查询:
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);
}
});
您的代码存在一些逻辑问题 您有3个输入,并且总是将一个输入的值发送到php端 因此,从功能上讲,您的代码运行良好 为了得到你想要的 1) 首先,您需要推送所有输入值
2) 在php端,迭代这些值,然后用每个值更新数据库
下面是一个快速示例:
$.ajax({
url: 'pro.php',
type: 'post',
data: $('#frmData').serialize(),
success: function(data) {
console.log(data);
}
});
在php端,您将在关键元素“data”下收到一个数组——正如我们在ajax初始化中设置的那样——您需要迭代该数组并按如下方式执行查询:
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方面,我尝试了
echo$\u POST['inputmode']代码>和echo$_POST['frmData']代码>-未成功。如何在php中获取这些值?您将在php端使用$_POST['inputmode'][7]或$_POST['inputmode'][5]获取值,我尝试了echo$_POST['inputmode']代码>和echo$_POST['frmData']代码>-未成功。我如何在php中获取这些值?您将使用$_POST['inputmode'][7]或$_POST['inputmode'][5]获取值。我认为您是个天才。非常感谢。我认为你是个天才。谢谢。