首页 > 解决方案 > 在数据库中插入选中的复选框值并在未选中时将其删除

问题描述

我试图在我的项目中应用这个目的,我有一个表格,显示表格中的复选框值。我的目标是将选中的值插入另一个表,并在我从该表中取消选中它时将其删除。

我做了这样的插入:

1- 表

 <table>

foreach($result as $row)
{
 <tr>
<td><?=$row->name?></td>
<td><input type='checkbox' class="check-lab" value="   
<?=$row->id?>"  /></td>
</tr>
<?php } ?>
</table>

2- 查询

$('.check-lab').change(function() {
if ($(this).is(':checked')) {
var labCheckded= $(this).val();
var deleteLab= 1;
}

else {
var deleteLab= 0;

}

$.ajax({
type:'POST',
url:'<?=base_url('admin_medico/SaveLab')?>',
data: {labCheckded:labCheckded,deleteLab:deleteLab},
success:function(data) {

},

});

})

3-控制器

public function SaveLab(){

$save = array(
  'laboratory'  => $this->input->post('labCheckded')
 );
$this->model_admin->SaveLab($save);

}

检查后,一些值插入正确。如果我取消选中此值,我该如何移除(删除)它?

标签: jquerycodeigniter

解决方案


您的代码已经很好,您只需要创建一个新模型和控制器来删除该项目。
例子:

在您的 jQuery 中,执行以下操作:

    $('.check-lab').change(function() {

    var labCheckded= $(this).val();

    if ($(this).is(':checked')) {
    var deleteLab= 1;
    $.ajax({
    type:'POST',
    url:'<?=base_url('admin_medico/SaveLab')?>',
    data: {labCheckded:labCheckded,deleteLab:deleteLab},
    success:function(data) {
    },
    });
    } 

    else {
    var deleteLab= 0;
    $.ajax({
    type:'POST',
    url:'<?=base_url('admin_medico/DeleteLab')?>',
    data: {labCheckded:labCheckded,deleteLab:deleteLab},
    success:function(data) {
    },
    });
    }

    });

在您的控制器中,您可以拥有

public function DeleteLab(){
$delete = array(
  'laboratory'  => $this->input->post('labCheckded')
 );
$this->model_admin->DeleteLab($delete);
}

在您的模型中,您可以具有功能

public function DeleteLab($delete){
    $this->db->where('column_name', $delete['laboratory']); //assuming $delete['laboratory'] is a proper key
    $this->db->delete('table_name');
}

推荐阅读