Сценарий:
Я использовал AJAX для удаления записи и PHP в качестве языка программирования. Часть AJAX приведена ниже:
Здесь $('#id')
- это id
кнопки, которая содержит значение идентификатор пользователя из базы данных, динамически с помощью этой части: id='.$d['ID'].'
реализовано во внешнем интерфейсе.
<script>
function deleteRecord() {
var var1 = $('#id').html();
var result = confirm("Do you want to delete this Record?");
if(result){
//call ajax
$.ajax({
url: '<?php echo base_url();?>index.php/Device/delete',
type: 'POST',
data: {
id: var1
},
success: function(result){
$("#id").html(result);
alert('You have successfully deleted the user.');
},
error(e){
alert('Problem while interacting to the server.');
}
});
}
else{
console.log('Operation Cancelled.');
}
}
</script>
Это часть интерфейса, где Button используется для удаления записей.
Я использовал id='.$d['ID'].'
для динамического получения значения идентификатора из базы данных.
<td> <button class="btn" type="submit" onclick="deleteRecord()" id='.$d['ID'].'>Delete
</button> </td>
Это URL, указанный в AJAX:
url: '<?php echo base_url();?>index.php/Device/delete'
В приведенном выше URL-адресе Device - это имя Controller , а delete - это метод controller , который указан ниже:
public function delete($id = '') {
$login = $_SESSION['username'];
if (! in_array($login, $this->main_model->get_authorized_users())) {
$redirect = site_url('device');
redirect($redirect, 'refresh');
}
if ($this->input->post('submit')) {
$username = $this->input->post('username');
$deviceid = $this->input->post('deviceid');
if ($deviceid == null || $username == null || $login == null) {
$redirect = site_url('device');
redirect($redirect, 'refresh');
return;
}
} else {
if ($id == '') {
$redirect = site_url('device');
redirect($redirect, 'refresh');
}
$res = $this->device_model->delete();
$data['action'] = 'delete';
$data['id'] = $id;
$data['result'] = $this->device_model->get_device($id);
$data['body'] = $this->load->view('register_view', $data, true);
$this->load->view('template', $data);
}
}
Вот часть модели:
function delete(){
$username = $this->input->get('username');
$deviceid = $this->input->get('deviceid');
$id = $this->input->get('id');
$language= $this->input->get('language');
$deleted_by=$_SESSION['username'];
$sql = "DELETE FROM devices
WHERE id = $id";
$query = $this->db->query ( $sql );
//log update
$this->log_device_delete($id,$username,$deviceid,$deleted_by);
}
Токовый выход:
- Когда нажата кнопка УДАЛИТЬ , отображается Поле подтверждения .
- В Поле подтверждения , " Вы хотите удалить эту запись? ".
Проблема:
Когда пользователь нажимает кнопку OK , появляется сообщение « Вы успешно удалили пользователя. » , но запись не удаляется .
Требуемое решение:
Когда пользователь нажимает кнопку OK в поле подтверждения, запись пользователя должна быть удалена.
Какая коррекция мне нужна здесь?
Предложения высоко ценятся.