我正在制作一个日历,管理员可以在其中更改日期单元格的背景颜色。更改将保存到服务器。现在,它不起作用。这是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代码的问题。有什么建议?
答案 0 :(得分:1)
您需要先使用它们定义变量。
$dID = $_POST["dID"];
$dClass = $_POST["dClass"];
$stmt = $db->prepare("UPDATE original SET class=? WHERE id=?");
$stmt->bind_param("ss", $dClass, $dID);