Как обновить форму конкретного идентификатора в codeigniter?

Я новичок в Codeigniter. Я застрял при обновлении данных формы. Я использую один исходный код из Интернета, но он не работает для меня. Я закончил выборку данных из нескольких таблиц в одной форме. Теперь я хочу обновить эту форму. Я делюсь своим кодом шаг за шагом, чтобы вы поняли его.

Контроллер для извлечения данных в форме:

public function __construct(){

parent::__construct();
$this->load->helper('url');
$this->load->model('user_model');
$this->load->library('session');

}function login_user(){
$user_login=array(

'USER_NAME'=>$this->input->post('user_email'),
'PASSWORD'=>($this->input->post('user_password')),
'PIN'=>($this->input->post('user_pin'))
);

$data=$this->user_model->login_user($user_login['USER_NAME'],$user_login['PASSWORD'],$user_login['PIN']);

if($data)
{
$this->session->set_userdata('user_id',$data['USER_ID']);
$this->session->set_userdata('user_name',$data['USER_NAME']);
$this->session->set_userdata('employee_id',$data['EMPLOYEE_ID']);
$this->session->set_userdata('nationality',$data['NATIONALITY']);
$this->session->set_userdata('EMPLOYEE_NAME',$data['EMPLOYEE_NAME']);
$this->session->set_userdata('EMPLOYEE_NUMBER',$data['EMPLOYEE_NUMBER']);
$this->session->set_userdata('DATE_OF_BIRTH',$data['DATE_OF_BIRTH']);
$this->session->set_userdata('JOINING_DATE',$data['JOINING_DATE']);
$this->session->set_userdata('CURRENT_LOCATION',$data['CURRENT_LOCATION']);
$this->session->set_userdata('SEX',$data['SEX']);
$this->session->set_userdata('ADDRESS',$data['ADDRESS']);
$this->session->set_userdata('COMPANY_EMPLOYEE_NUMBER',$data['COMPANY_EMPLOYEE_NUMBER']);
$this->session->set_userdata('PHONE',$data['PHONE']);
$this->session->set_userdata('MOBILE',$data['MOBILE']);
$this->session->set_userdata('EMAIL_ADDRESS',$data['EMAIL_ADDRESS']);
$this->session->set_userdata('ALTERNATE_EMAIL',$data['ALTERNATE_EMAIL']);
$this->session->set_userdata('WORKING_HOURS',$data['WORKING_HOURS']);
$this->session->set_userdata('NOK',$data['NOK']);
$this->session->set_userdata('NOK_CONTACT_NUMBER',$data['NOK_CONTACT_NUMBER']);
$this->session->set_userdata('EMPLOYMENT_STATUS_ID',$data['EMPLOYMENT_STATUS_ID']);
$this->session->set_userdata('DESIGNATION_NAME',$data['DESIGNATION_NAME']);
$this->session->set_userdata('CURRENT_ORG_ID',$data['CURRENT_ORG_ID']);
$this->session->set_userdata('COS_NUMBER',$data['COS_NUMBER']);
$this->session->set_userdata('VISA_START_DATE',$data['VISA_START_DATE']);
$this->session->set_userdata('VISA_END_DATE',$data['VISA_END_DATE']);
$this->session->set_userdata('DESCRIPTION',$data['DESCRIPTION']);
$this->session->set_userdata('SKILLS',$data['SKILLS']);
$this->session->set_userdata('YR_OF_EXPERIENCE',$data['YR_OF_EXPERIENCE']);$this->load->view('layouts/index.php');

}
else{
$this->session->set_flashdata('error_msg', 'Error occured,Try again.');
$this->load->view('layouts/login.php');

}}

Модель для извлечения данных:

class User_model extends CI_model{public function login_user($email,$pass,$pin){

$this->db->select('*');
$this->db->from('app_users');
$this->db->where('USER_NAME',$email);
$this->db->where('PASSWORD',$pass);
$this->db->where('PIN',$pin);
$this->db->join('employee_details', 'app_users.EMPLOYEE_ID = employee_details.EMPLOYEE_ID', 'LEFT');
$this->db->join('employee_master', 'app_users.EMPLOYEE_ID = employee_master.EMPLOYEE_ID', 'LEFT');
$this->db->join('designation_master', 'employee_details.DESIGNATION_ID = designation_master.DESIGNATION_ID', 'LEFT');
$this->db->join('employee_visa_details', 'employee_details.EMPLOYEE_ID = employee_visa_details.EMPLOYEE_ID', 'LEFT');
$this->db->join('visa_status_master', 'employee_visa_details.VISA_STATUS_ID = visa_status_master.VISA_STATUS_ID', 'LEFT');
$this->db->join('employment_status_master', 'employee_details.EMPLOYMENT_STATUS_ID = employment_status_master.EMPLOYMENT_STATUS_ID', 'LEFT');
$this->db->join('employee_skills', 'employee_details.EMPLOYEE_ID = employee_skills.EMPLOYEE_SKILLS_ID', 'LEFT');
if($query=$this->db->get())
{
return $query->row_array();
}
else{
return false;
}
}
}

Выше файлы работают нормально. я могу видеть данные конкретного пользователя в виде формы.

Теперь я хочу обновить эти данные, поэтому я пишу ниже код:

контроллер:

class Personal_details extends CI_Controller {
public function __construct(){

parent::__construct();
$this->load->helper('url');
$this->load->model('user_model');
$this->load->model('personal_details_model');
$this->load->library('session');

}

public function update_personal_details(){
$products = new personal_details_model;
$products->update_personal_details($id);
redirect('/responsibilities/personal_details/');

}

}

модель для того же:

class Personal_details_model extends CI_model{

public function update_personal_details($id)
{
$data=array(
'EMPLOYEE_NAME' => $this->input->post('emp_name'),
'DATE_OF_BIRTH'=> $this->input->post('dob'),
'JOINING_DATE' => $this->input->post('joining_date'),

);
if($id==0){
return $this->db->insert('employee_master',$data);
}else{
$this->db->where('EMPLOYEE_ID',$id);
return $this->db->update('employee_master',$data);
}
}
}

Я не понимаю, как написать код для обновления над всеми таблицами.

Мой вид формы выглядит так:

 <form action="<?php echo site_url('personal_details/update_personal_details');?>" method="post" class="form-horizontal" >
<button type="submit" class="btn btn-info">Edit</button>
<button type="submit" class="btn btn-danger">Cancel</button>

Я получаю эту ошибку при нажатии кнопки редактирования:

ошибка при обновлении

0

Решение

Сначала вы должны получить данные формы в контроллере Personal_details, а затем передать эти данные в Personal_details_model. Во-вторых, нет необходимости создавать новый объект для вашей модели в функции update_personal_details (), которую вы уже загрузили personal_details_model в своем конструкторе.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector