我有这个对象数组:
var desks = [];
function Desk(id, name, x, y) {
var desk = {};
desk.id = id;
desk.name = name;
desk.x = x;
desk.y = y;
desks.push(desk);
}
我有一个包含 desk_id
、desk_name
、desk_x
和 desk_y
列的 MySQL 表。
当我单击一个按钮时,我想用 Desk 对象更新表中的值。
这基本上是我正在努力实现的目标:
JS
$("#btn").click(function() {
$.ajax({
method: "POST",
url: "phpfile.php",
data: desks
})
});
PHP
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
require "../db.php";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$desks = $_POST("desks");
for($i = 0; $i < sizeof($desks); $i++) {
$sql = "UPDATE desks SET desk_x=$desks[i]->x WHERE desk_id=$desks[i]->id";
$conn->query($sql);
$sql = "UPDATE desks SET desk_y=$desks[i]->y WHERE desk_id=$desks[i]->id";
$conn->query($sql);
}
$conn->close();
}
?>
不知道有什么问题。感谢您的帮助。
最佳答案
这样做
JS
$("#btn").click(function() {
$.ajax({
method: "POST",
url: "phpfile.php",
data: {desks:desks}
})
});
PHP
$desks = $_POST("desks");
$sql = "UPDATE desks SET desk_x=$desks->x,desk_y=$desks->y WHERE desk_id=$desks->id";
$conn->query($sql);
关于javascript - 如何使用 Ajax 将对象数组发送到 PHP 并更新 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45036734/