douchao0358 2017-02-25 21:29
浏览 202
已采纳

使用post()更新数据库

I am working on a calendar where the background color of the day cells can be changed by the administrator. The change gets saved to the server. Right now, it's not working. Here's a portion of the 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" } );
    }

This is the PHP code in classChange.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!";
}

Clicking on a cell correctly changes the class (and color) of the cell, but does not update the database. I'm not getting any errors. I think it must be a problem with the post() code, or the PHP code. Any advice?

  • 写回答

1条回答 默认 最新

  • dongmu1390 2017-02-25 21:37
    关注

    You need to define the variables first before using them.

    $dID = $_POST["dID"];
    $dClass = $_POST["dClass"];
    $stmt = $db->prepare("UPDATE original SET class=? WHERE id=?");
    $stmt->bind_param("ss", $dClass, $dID);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 关于无人驾驶的航向角
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了