0

您好我正在尝试在 SQL 查询命令中识别表 ID。

这是我的查询命令:

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

所有这些代码都在一个 backend.php 文件中,该文件是从主 php 文件通过 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},

问题是要在数据库内的正确字段中插入记录我必须将在此页面上完成的 sql 转储中元素的 ID 放入 $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 但如何做到这一点?或者如果有更好的方法让我知道

4

3 回答 3

2

您没有发布“id”。

插入这个

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

$.ajax({

现在,使用这个

data: {"checkboxstatus": checkboxstatus,
        "id":id 
       },
于 2013-10-01T18:12:32.763 回答
0

利用:

$(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。你总是得到第一个复选框的状态,而不是被改变的那个。

于 2013-10-01T18:06:57.573 回答
0

您也可以发布ID

data: {checkboxstatus: checkboxstatus,id: $('input[name=status]').attr('id') },
于 2013-10-01T18:09:11.980 回答