Я хочу добавить обновление и удалить данные в таблице ниже. Удаление работает. Но у меня проблема с добавлением данных с помощью CRUD

Вот контроллер. Я добавляю данные в две таблицы соединения, родительскую и студенческую, используя единую форму одним нажатием кнопки.
public function register_students()
{
// $this->load->model('Register_model','multi_model',TRUE);
$encrypted_password1 = $this->encrypt->encode($this->input->post('p_pwd'));
$parent_data = array(
'parent_code' => $this->input->post('parent_code'),
'f_name' => $this->input->post('p_first_name'),
'l_name' => $this->input->post('p_last_name'),
'DOB' => $this->input->post('p_dob'),
'address' => $this->input->post('p_address'),
'tel' => $this->input->post('p_tel_no'),
'email' => $this->input->post('email'),
'username' => $this->input->post('p_username'),
'password' => $encrypted_password1,
);
$id = $this->Model_Action->insertTable('parent',$parent_data);
$encrypted_password = $this->encrypt->encode($this->input->post('pwd'));
$student_data = array(
's_id' => '',
'student_code' => $this->input->post('student_code'),
'f_name' => $this->input->post('first_name'),
'l_name' => $this->input->post('last_name'),
'DOB' => $this->input->post('dob'),
'gender' => $this->input->post('gender'),
'address' => $this->input->post('address'),
'tel' => $this->input->post('tel_no'),
'username' => $this->input->post('username'),
'password' => $encrypted_password,
'p_id' => $id
);
$insert = $this->Model_Action->insertTable('student',$student_data);
echo json_encode(array("status" => TRUE));
redirect('student');
}
Вот моя модель
function insertTable($table, $data) {
$this->db->insert($table, $data);
return $this->db->insert_id();
}
Это мое мнение - раздел javascript. Я удалил функцию редактирования и функцию удаления в этом разделе.
<script type = "text/javascript">
$(document).ready( function () {
$('#student_table').DataTable();
} );
var save_method;
var table;
function add_book()
{
save_method = 'add';
$('#form')[0].reset();
$('#modal_form').modal('show');
}
function save()
{
var url;
if (save_method == 'add')
{
url = "<?php echo site_url('/Student/register_students')?>";
}
else
{
url = "<?php echo site_url('/Student/student_update')?>";
}
// ajax adding data to database
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
//if success close modal and reload ajax table
$('#modal_form').modal('hide');
location.reload();// for reload a page
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data');
}
});
}
Я использовал модель начальной загрузки для добавления и обновления форм, и они также работают нормально.
да, потому что я пытался добавить данные без ajax (используя метод действия формы), и это сработало.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как я вижу, вы используете перенаправить('студент'); для вызова ajax. Не делайте этого, если хотите работать с ajax. Я советую тебе:
$array = array(
'link' => 'strudent',
'status' => true
);
echo json_encode($array);
return;
И об успехе ajax:
window.location.href = data.link;
Спасибо, теперь я могу обновить, но мне нужно перезагрузить страницу. и когда я нажимаю кнопку «Сохранить», отображается ошибка «Ошибка добавления/обновления данных». Но данные обновляются.
Ваш ответ очень полезен, надеюсь, вы тоже поможете мне решить эту проблему. :)
Может быть, у вас есть проблема с URL-адресом, который вы называете ajax??
Спасибо, я нашел ошибку, я взял только данные одной таблицы для представления таблицы ajax. Поэтому я написал запрос на соединение. теперь все работает. Спасибо за помощь :)
Рад помочь :)
Вы проверили, получили ли вы какие-либо $ данные? Вы проверяли, соответствуют ли столбцы базы данных ключам массива $data? И что говорит консоль вашего браузера?