gpt4 book ai didi

php - 选中复选框时 Ajax 更新数据库

转载 作者:行者123 更新时间:2023-11-29 07:12:01 26 4
gpt4 key购买 nike

您好,我正在尝试通过单击复选框来更新数据库表,但它不起作用。

HTML:

<input name="no_cage" id="no_cage" type="checkbox" value="1" onclick="chkit(<?php echo $estimate_id; ?>,'no_cage');" <?php echo $checked; ?>

AJAX:

function chkit(estimate_id, no_cage) {
chk=document.getElementById("no_cage").checked;

$.ajax({
type: 'GET',
url: 'ajax.php',
data: { chkYesNo: no_cage, estimate_id: estimate_id}

});
}

ajax.php

<?php

error_reporting(E_ALL);

include($_SERVER["DOCUMENT_ROOT"]."/dbconnect.php");

$get=$_GET['chkYesNo'];

$get_id=$_GET['estimate_id'];
if($get=="1")
{
$sql = "UPDATE estimates SET
no_cage = '1',
cage_linear_feet = '',
cage_doors = '',
cage_options = '',
cage_labor = ''
WHERE estimate_id = '".$get_id."'";

if ($conn->query($sql) === TRUE) {
echo "";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
else
{

}
?>

有人能看到我错过了什么吗?我不是专家,并且已经尝试了很长一段时间但没有运气。

谢谢

约翰

最佳答案

当您将 'no_cage' 作为参数 2 传递时

onclick="chkit(<?php echo $estimate_id; ?>,'no_cage');"

然后通过 AJAX 将其传递给 PHP

data: { chkYesNo: no_cage, estimate_id: estimate_id}
^^^^^^^^

当您到达 PHP 代码时,$get 将为 = no_cage,而绝不会像您的 PHP 代码所期望的那样,即 1

$get=$_GET['chkYesNo'];   // which will = `no_cage'`

if($get=="1")

所以简而言之,您从未真正运行查询

在查找是否选中该复选框时也请尝试此操作,因为您的代码将返回 truefalse,这可能会导致问题

function chkit(estimate_id, no_cage) {
chk = document.getElementById("no_cage").checked ? 1 : 0;

$.ajax({
type: 'GET',
url: 'ajax.php',
data: { chkYesNo: chk, estimate_id: estimate_id}

});
}

关于php - 选中复选框时 Ajax 更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39333365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com