使用 AJAX 传递 ID 信息


passing id information with ajax

嗨,我正在尝试在SQL查询命令中标识表ID。

这是我的查询命令:

$id = $_POST['id'];
    $query = " UPDATE cursos
           SET status = '$checkboxstatus'
           WHERE id='$id'";

所有这些代码都位于后端.php文件中,该文件从主PHP文件加载了trought Ajax命令:

这是我正在使用的 AJAX 脚本:

    $(document).ready(function(e) {
$('input[name=status]').change(function(){
    if( $('input[name=status]').prop('checked') )
       {checkboxstatus = '1';}
       else
       {checkboxstatus = '0';}
$.ajax({
        type: "POST",
        url: "checkboxtestbackend.php",
        data: {checkboxstatus: checkboxstatus},

问题是要将记录插入数据库内的右侧字段中,我必须$id在此页面上完成的 sql 转储中放入元素的 id。

while($row = mysqli_fetch_array($result))
{   $id = $row['id'];
?><?php echo "<input type='checkbox' id='$id' name='status'"; if($row['status'] == 1){print "checked='checked'"; }echo "/>";

我认为我必须发送此命令data: {checkboxstatus: checkboxstatus}, id,但是如何做到这一点? 或者如果有更好的方法让我知道

您没有发布"id"。

插入此

var id = $(this).attr('id');

$.ajax({之前

现在,使用这个

data: {"checkboxstatus": checkboxstatus,
        "id":id 
       },

使用:

$(document).ready(function(e) {
    $('input[name=status]').change(function(){
        if ( this.checked ) {
            checkboxstatus = '1';
        } else {
            checkboxstatus = '0';
        }
        $.ajax({
            type: "POST",
            url: "checkboxtestbackend.php",
            data: {
                checkboxstatus: checkboxstatus,
                id: this.id
            },

this是单击的元素。

请注意,我必须更改您设置checkboxstatus 的方式。您始终获得第一个复选框的状态,而不是已更改的复选框的状态。

您也可以发布 ID

data: {checkboxstatus: checkboxstatus,id: $('input[name=status]').attr('id') },