0

我有这个问题,我有多个字段通过 AJAX 调用更新数据库。AJAX 调用如下所示:

$(".fresheditable").fresheditor("save", function (id, parsedHtml) {
    $.ajax({
        url: 'save.php',
        type: 'POST',
        data: {
            id: id,
            parsedHtml: parsedHtml
        }
    });
});

ID 值会根据正在编辑的元素而变化。问题是当更新被发送到save.php文档时。如何仅使用特定 ID 运行更新?

查看我的 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如果向say发送了多个 ID,link并且contactperson两个 if 语句都为真,并且更新设置了与parsedHtml变量相同的值。

我能做些什么save.php来防止这种情况发生吗?不知何故,我需要将正确parsedHtml的与相应的id.

4

4 回答 4

2

PHP(以及 Javascript)中的比较运算符 is==和 not=

if($_POST["id"]=="link")
于 2012-10-12T09:37:52.610 回答
1

是因为您在 IF 测试中使用了单个等号,它在值存在时分配并返回 true?不等于比较吗?

例如

if($_POST['id']=='link') 

不是

if($_POST['id']='link') 
于 2012-10-12T09:40:40.243 回答
0

您可以使用的一件事是我的意思是数据属性

<span item-data="some_id">data</span>现在您可以在 jquery 中选择要更新的 html 中的特定项目数据。

于 2012-10-12T09:26:06.970 回答
-1

使用 else-if 结构。

if($_POST['id']='link') {

}
else if($_POST['id']='contactperson') {

}
于 2012-10-12T09:24:12.573 回答