2015-08-26 5 views
0

Я работаю над проектом, где внутри панели администратора у меня есть таблица для запросов, и я хочу разрешить администратору удалять любой из них. мой взгляд код выглядит следующим образом:CodeIgniter: удалять данные из базы данных MySQL с помощью AJAX

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

Мой Аякса код:

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'); 

} 

Я искал answ но их не было. Может кто-нибудь сказать мне, что не так с моим кодом. Заранее спасибо ...

+0

Вы получаете какие-либо ошибки? любое сообщение об ошибке в консоли? – mdamia

+0

@mdamia нет, я получаю и предупреждаю, говоря «ajax success» – V15HM4Y

+0

var_dump ($ id); или опубликовать данные? вы получаете идентификатор? – mdamia

ответ

4

Вам необходимо пройти идентификатор из вашего АЯКС изменения запроса

data: id, 

Для

data: {id:id}, 

для данных, которые вы должны предоставить массив. , например =>data:{name_params:10} вы можете получить данные в PHP $id = $this->input->post('name_params'); и значение $ ID будет = 10

+0

спасибо, это сработало. Можете ли вы сказать мне, какую ошибку я сделал? – V15HM4Y

1

Проблема у вас есть то, что ваш идентификатор не доступен ключ в вашем 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; 

} 
+0

Показывает ошибку как POST 'http://127.0.0.1/sh/loginc/delenq4 404 Not Found' – V15HM4Y

Смежные вопросы