gpt4 book ai didi

javascript - 使用 jQuery AJAX 更新 mysql 表

转载 作者:行者123 更新时间:2023-11-30 23:04:23 24 4
gpt4 key购买 nike

我使用 jQuery AJAX 更新表格。但是 AJAX 只在第一次有效,其他请求都消失了。

JavaScript

function uploadItems(data, step, savetype) {                                                                                                                    
data.append('step', step); data.append('savetype', savetype);
data.append('new_store_id', store_id);

$.ajax({
url: "order_store_edit.php?store_id="+store_id,
type: "POST",
data: data,
contentType: false,
processData: false,
async: true
})
.done(function(data)
{
console.log(data);
})
.fail(function(xhr, text_status, errorThrown)
{
return false;
});
}

PHP

foreach ($set_item_arr as $i => $value) {                                                                                                                            
order_item_up($item[$i]['item_id'], $value);
echo $item[$i]['item_id'] . ' : ' . $value['disable'] . "\n";
}

数据库

function order_item_up($item_id, $set_arr)                                                                                                                                   
{
if (! isset($item_id)) {
echo 'no id';
return;
}
global $db;
$sql = 'UPDATE tablename SET ';
foreach ($set_arr as $key => $val) {
$sql .= $key."='".$val."', ";
}
$sql = substr($sql, 0, -2);
$sql .= " WHERE item_id = '$item_id'";
return $db->execute($sql);
}

例如,我有二十个表单,我将其中的十个附加到一个 FormData,然后调用 uploadItems。所以它会发送两次,但更新查询只在第一次有效。

没有错误信息显示,控制台没有,浏览器没有。

这个问题的可能原因是什么?

编辑:

有没有可能是表级锁导致的?我的引擎是 MyISAM。

编辑:编辑 SQL 查询的结果

XHR finished loading: 
983 : 1
984 : 1
985 : 1
986 : 1
987 : 1
988 : 1
989 : 1
990 : 1
991 : 1
992 : 1

XHR finished loading:
no id : 1
no id : 1

正如我提到的,第二个 XHR 无法更新数据库。


已解决

我发现了问题......我应该使用 item_id 而不是数组的索引,因为更新数据库后数组大小会不同。

最佳答案

function order_item_up($item_id, $set_arr)                                                                                                                                   
{
foreach ($set_arr as $key => $val)
{
$qry1="UPDATE tablename SET". $key."='".$val."' where $item_id='".$item_id."'";
$re=mysql_query($qry1)or die(mysql_error());
}
}

将此更新部分用于行数。

关于javascript - 使用 jQuery AJAX 更新 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22477500/

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