如果取消选中复选框,如何删除MySQL表?

时间:2018-08-07 09:57:20

标签: javascript php jquery mysql

我有一个包含MySQL数据的表。每个数据都有一个编辑按钮。如果单击按钮之一,则会出现一个引导程序模式,其中包含所选行的当前数据。在模式中,我也有一个复选框。如果单击它,则会出现一些输入字段,可以在其中更新或在数据库中插入数据。如果当前行有数据,则当我单击“编辑”按钮时,隐藏字段已经出现。如果我取消选中该复选框,我想删除数据。我正在尝试将if(!isset($_POST["licensee"]))放入PHP文件,但是它什么也没做。我该怎么解决?

index.php

<!-- Modal -->
<div id="companyModal" class="modal fade">
    <div class="modal-dialog modal-lg">
        <form method="post" id="company_form">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                </div>
                <div class="modal-body">
                    <div class="col-md-10">
                        <b>Licensees </b><input type="checkbox" name="licensee" id="licensee"/>
                    </div>
                    <div id="hidden" class="form-group">
                        <input type="text" name="name" id="name">
                    </div>
                    <input class="action" type="hidden" name="company_id" id="company_id" />
                    <input class="action" type="hidden" name="btn_action" id="btn_action" />
                    <input type="submit" name="action" id="action" class="btn btn-info action" value="Add" />
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
                </div>
            </div>
        </form>
    </div>
</div>

<script>
   $(document).ready(function(){
      // Hide field if unchecked, show if checked
        $('[name=licensee]').click(function(){
            if ($(this).is(":checked")) {
                $("#hidden").show();
                $("#name").attr("required", true);
            } else {
                $("#hidden").hide();
                $("#name").attr("required", false);
            }
        });

        $(document).on('click', '.update', function() {
            var company_id = $(this).attr("id");
            var btn_action = 'fetch_single';
            $.ajax({
                url:"company.php",
                method:"POST",
                data:{company_id:company_id, btn_action:btn_action},
                dataType:"json",
                success:function(data) {
                    $('#companyModal').modal('show');
                    $('#company_id').val(company_id);;
                    $('#btn_action').val('Edit');

                    // Check if input empty
                    var name = jQuery.trim($("#name").val());
                    if(name.length > 0) {
                        $('#licensee').prop('checked', true);
                        $("#hidden").show();
                    } else if(name.length === 0){
                        $("#hidden").hide();
                        $('#licensee').prop('checked', false);
                    }
                }
            });
        });
   )};
</script>

company.php

if(isset($_POST['btn_action'])) {
    if($_POST['btn_action'] == 'Add') {
        // Insert on Add
    }

    if($_POST['btn_action'] == 'fetch_single') {
        // Fetch the company's current data on Edit
        echo json_encode($output);
    }

    if($_POST['btn_action'] == 'Edit') {
        // Update on Edit
    } 
}

// It's didn't work
if(!isset($_POST['licensee'])) {
    echo '<script> alert("Success"); </script>';
}

1 个答案:

答案 0 :(得分:1)

isset()在变量存在时返回TRUE,即使该变量的值为空。

您可以使用此:

<input type="checkbox" name="licensee" id="licensee" value="value1"/>

以及在PHP中(如果选中了复选框):

if ($_POST['licensee'] == 'value1'){}