使用post()更新数据库

时间:2017-02-25 21:29:58

标签: php jquery ajax

我正在制作一个日历,管理员可以在其中更改日期单元格的背景颜色。更改将保存到服务器。现在,它不起作用。这是JavaScript的一部分:

for(i=0; i<myDays.length; i++) { // Goes through each TD and creates a click event
myDays[i].addEventListener("click", function(){
    if(this.classList.contains("avail")) {
        this.classList.toggle("avail");
        this.classList.toggle("halfy");
        $.post("classChange.php", { dID: this.id, dClass: "halfy" } );
    }

这是classChange.php中的PHP代码:

    if(isset($_POST["dID"]) ){
    $stmt = $db->prepare("UPDATE original SET class=? WHERE id=?");
    $stmt->bind_param("ss", $dClass, $dID);

    $dID = $_POST["dID"];
    $dClass = $_POST["dClass"];

    $stmt->execute();
    $stmt->close();
} else {
    echo "Code error, dummy!";
}

单击单元格可正确更改单元格的类(和颜色),但不会更新数据库。我没有收到任何错误。我认为它必须是post()代码或PHP代码的问题。有什么建议?

1 个答案:

答案 0 :(得分:1)

您需要先使用它们定义变量。

$dID = $_POST["dID"];
$dClass = $_POST["dClass"];
$stmt = $db->prepare("UPDATE original SET class=? WHERE id=?");
$stmt->bind_param("ss", $dClass, $dID);