我希望在我的表中选中一个复选框后,让它更新特定用户的值

时间:2016-12-09 18:10:09

标签: php html ajax html-table

我正在尝试这样做,以便当我点击表格中客户端行中的复选框时,我希望我的ajax发送ID和复选框值(如果选中则为1或0 | 1 | 0如果不是检查)到我的PHP代码并为0或1的特定用户更新名为'enabled'的列。在我的代码中,每次单击复选框的标签以进行更新时,它只更新一个客户端。最重要的是:

向您显示每个用户的复选框 - 我现在使用文本框显示用户ID不同,但它只更新顶部列 - 客户端ID号46

这是我的代码

HTML / PHP表

<td style="border: 1px solid #eee; text-align: center; font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'enabled','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);">
<input type="textbox" name="id_value" id="id_value" value="<?php echo $faq[$k]["id"]; ?>">
<div class="checkbox checkbox-inverse checkbox-circle">
    <?php echo $faq[$k]["enabled"]  == 1 ?
    '<input id="checkbox-15" value="1" name="checkbox" type="checkbox" checked ><label for="checkbox-15">ON</label>'
    :
    '<input id="checkbox-15" type="checkbox" name="checkbox"><label for="checkbox-15">OFF</label>'; ?>

</div>

我的AJAX代码

        <script type="text/javascript">
        $(document).ready(function() {    
            $('#custom7').click(function() {
                if($(this).is(":checked")) {
                    $(this).siblings('label').html('on');
                } else {
                    $(this).siblings('label').html('off');
                }
            });
        });
        </script>

     <script>
        $(document).ready(function() {
            $('input[name=checkbox]').click(function() {

                var id = $('#id_value').val();

                if ($(this).is(':checked'))
                  var checkbox = '1';
                else
                  var checkbox = '0';

                $.ajax({
                    type:'POST',
                    url:'includes/saveedit_members.php',
                    data: {
                        id: id,
                        checkbox: checkbox
                    }
                }).done(function(response) {
                    window.location.replace("admin_members.php");
                });

            });
        });
    </script>

    <script type='text/javascript'>

        function isNumberKey(evt) {
            myOutput = document.getElementById('add_user_result');
            var charCode = (evt.which) ? evt.which : evt.keyCode;
            if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
                myOutput.innerHTML = "<font style='color: red;'>You must fill in all the blanks.</font>";
                return false;
            } else {
                return true;
            }
        }

        $(document).ready(function() {
            $("#add_user_result").hide();
        });

        function showEdit(editableObj) {
            $(editableObj).css("background","#FFF");
        } 

        function saveToDatabase(editableObj,column,id) {
            $(editableObj).css("background","#FFF url('images/spin.gif') no-repeat right");
            $.ajax({
                url: "includes/saveedit_members.php",
                type: "POST",
                data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
                success: function(data){
                    window.location.replace("admin_members.php");
                }
           });
        }

我的PHP接收代码

if(isset($_POST['checkbox'])) {
    mysqli_query($con, "UPDATE users set enabled = '".$_POST['checkbox']."' WHERE  id=".$_POST["id"]);
}

if(!isset($_POST['column']) || !isset($_POST["editval"]) || !isset($_POST["id"])) {
    header('Location: error-pages/index.php');
} else if(isset($_POST['column']) && isset($_POST["editval"]) && isset($_POST["id"])) {
    mysqli_query($con, "UPDATE users set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE  id=".$_POST["id"]);
}

如果有人可以帮助我,请记住,我希望它能获得特定用户的ID,以便我的php代码可以更新选中的复选框;不是全部或一个客户。

0 个答案:

没有答案