Php 通过AJAX/jQuery保存到数据库,发送两个变量
我有一个问题,我有多个字段通过AJAX调用更新数据库。AJAX调用如下所示:Php 通过AJAX/jQuery保存到数据库,发送两个变量,php,jquery,ajax,contenteditable,Php,Jquery,Ajax,Contenteditable,我有一个问题,我有多个字段通过AJAX调用更新数据库。AJAX调用如下所示: $(".fresheditable").fresheditor("save", function (id, parsedHtml) { $.ajax({ url: 'save.php', type: 'POST', data: { id: id, parsedHtml: parsedHtml }
$(".fresheditable").fresheditor("save", function (id, parsedHtml) {
$.ajax({
url: 'save.php',
type: 'POST',
data: {
id: id,
parsedHtml: parsedHtml
}
});
});
ID值根据正在编辑的元素而变化。问题是当更新被发送到save.php
文档时。如何仅使用特定ID运行更新
请参阅my save.php:
if($_POST['id']='link')
{
$link = $_POST['parsedHtml']; //get posted data
// query
$sql = "UPDATE buttons SET linkname=? WHERE id=?";
$q = $conn->prepare($sql);
if ($q->execute(array($link,$_SESSION['button'])))
{
echo 1;
}
}
//The next if-statement could look like this:
if($_POST['id']='contactperson')
{
$contactperson = $_POST['parsedHtml']; //get posted data
// query
$sql = "UPDATE buttons SET contactperson=? WHERE id=?";
$q = $conn->prepare($sql);
if ($q->execute(array($contactperson,$_SESSION['button'])))
{
echo 1;
}
}
如果向save.php
发送了多个ID,则说link
和contactperson
这两个If语句都为true,并且更新设置了相同的值,因为parsedHtml
变量
在save.php
中我能做些什么来防止这种情况?不知何故,我需要将正确的parsedHtml
与相应的id
Use else if结构相关联
if($_POST['id']='link') {
}
else if($_POST['id']='contactperson') {
}
你们可以使用的一件事就是数据属性
data
现在,您可以在jquery中选择要更新的html中的特定项目数据 PHP(以及Javascript)中的比较运算符是=
,而不是=
if($_POST["id"]=="link")
是不是因为在IF测试中使用了单个equals,它在值存在时赋值并返回true?不是两个相等的比较 例如 不是
如何将
id
的值同时设置为contactperson
和link
?我唯一的想法是,脚本发送的值是正在编辑的元素数的倍。没关系,每次编辑一个元素时,都会发送一个新的请求。这两种情况都存在问题,这是真的。脚本会为每个可编辑的项目发送一次ID
if($_POST['id']=='link')
if($_POST['id']='link')