首页 > 解决方案 > 使用 php-Codeigniter Ajax 进行多次删除/更新

问题描述

当我在 ajax 中检查时,console.log(response) 在控制台中返回整个页面的代码。我创建了一个使用 MySQL 作为后端数据库的 codeigniter 项目。我已将表中的内容从数据库提取到表中。现在我想为多次删除的用户提供选项。请考虑到我实际上并没有从表中删除值,我只是将该行的状态变为非活动状态。它是:

如果 status= 0 :该行的数据将在表中可见。如果status= 1:该行的数据将在表中不可见。

我在表格中给出了复选框选项来选择多个复选框。

这是我的javascript:

要检查所有复选框:-

<script language="JavaScript">
            function selectAll(source) {
                checkboxes = document.getElementsByName('sport');
                for(var i in checkboxes)
                    checkboxes[i].checked = source.checked;
            }
        </script>

javascript 从复选框中获取值并将其发送到控制器:

<script type="text/javascript">

               function okay(){
                    var favorite = [];
                    $.each($("input[name='sport']:checked"), function(){            
                        favorite.push($(this).val());

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

                    });



                      for (var i = 0;i<favorite.length;i++) {

                            $.ajax({
                                url:('<?=base_url()?>/Repots/supervisor_muldel'),
                                type:'POST',
                                data:{'value_id':favorite[i]},
                                success:function(response)
                                {
                                  console.log(response);
                                },
                                error:function(response)
                                {
                                    console.log('nahi gaya');
                                },

                            }); 
                            //console.log(favorite[i]);

                        }

                    //alert("My favourite sports are: " + favorite.join(", "));
            }

        </script>

每个复选框都与特定值相关联。这里是调用函​​数的html按钮:

 <button onclick="okay();">Delete Selected</button>

控制器:报告/supervisor_muldel

//multiple delete supervisor

public function supervisor_muldel() {

$value_id = $this->input->post('value_id');
$selected_supervisor = array('supervisor_id' =>$value_id);
$staus=array('status'=>1);


$this->load->model('Entry_model');
$result = $this->Entry_model->supervisor_muldel($staus,$selected_supervisor);

}

entry_model/supervisor_muldel: //删除多个supervisor

 public function supervisor_muldel($staus,$condition)
    {

        $this->db->trans_start();
        $this->db->where($condition)
                 ->update('tbl_supervisor',$staus);

        $this->db->trans_complete();

    }

console.log 在控制台中返回整个页面的代码。我被困在这里。

标签: javascriptphpmysqlajaxcodeigniter

解决方案


您输入了错误的 ajax 请求 URL。改变

url:('<?=base_url()?>/Repots/supervisor_muldel'),

url:('<?=base_url()?>/Reports/supervisor_muldel'),

查看 URL 中的控制器名称。


推荐阅读