【问题标题】:CodeIgniter: Delete data from MySQL DB using AJAXCodeIgniter:使用 AJAX 从 MySQL 数据库中删除数据
【发布时间】:2015-11-20 04:51:08
【问题描述】:

我正在处理一个项目,在管理面板中我有一个查询表,我想允许管理员删除其中的任何一个。 我的视图代码如下:

<button type="button" class="btn btn-danger delbtn" onclick="delenquiry(<?php echo $value->id;?>)">Delete this Enquiry</button>

我的ajax代码是:

function delenquiry(id) {
    if (confirm("Are you sure?")) {
        $.ajax({
            url: base_url + 'loginc/delenq',
            type: 'post',
            data: id,
            success: function () {
                alert('ajax success');
            },
            error: function () {
                alert('ajax failure');
            }
        });
    } else {
        alert(id + " not deleted");
    }
}

控制器代码是:

 public function delenq() {

        $id = $this->input->post('id');
        $this->logins->delenqs($id);
    }

型号代码为:

public function delenqs($id) {
    $this->db->where('id', $id);
    $this->db->delete('enquiry');

}

我寻找答案,但没有得到任何答案。谁能告诉我我的代码有什么问题。提前谢谢...

【问题讨论】:

  • 您是否遇到任何错误?控制台中有任何错误消息吗?
  • @mdamia 不,我收到并提醒说“ajax 成功”
  • var_dump($id);或发布数据?你拿到身份证了吗?
  • 您有 ajax 语法错误。数据:{ id:id }

标签: php mysql ajax codeigniter


【解决方案1】:

您需要从您的 ajax 请求更改中传递 id

 data: id,

 data: {id:id},

对于数据,您必须提供一个数组。 例如 => data:{name_params:10} 您可以在 php $id = $this-&gt;input-&gt;post('name_params'); 中获取数据 $id 的值为 = 10

【讨论】:

  • 谢谢,它成功了。你能告诉我我犯了什么错误吗?
【解决方案2】:

您遇到的问题是您的 ID 不是您的 POST 中的可用密钥。您需要定义{id : id}。但是,我认为这从 MVC 方法中更有意义:

$.ajax({
    url: base_url + 'loginc/delenq/'+ id, //maintains the (controller/function/argument) logic in the MVC pattern
    type: 'post',
    success: function(data){
        console.log(data);
    },
    error: function(a,b,c){
        console.log(a,b,c);
    }
});

然后你可以期待你的控制器函数的参数:

public function delenq($id){
    if($id)
        return $this->logins->delenqs($id);
    return false;
}

最后,你的模型可以得到一点固定,这样它也能正确返回。

public function delenqs($id) {
    $this->db->delete('enquiry', array('id' => $id));
    return $this->db->affected_rows() > 1 ? true:false;

}

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2014-05-30
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2018-03-16
    相关资源
    最近更新 更多