Я пытаюсь обновить запись в проекте CI. Я могу иметь дело с проверкой формы позже. Прямо сейчас я пытаюсь решить проблему невозможности обновления записи в базе данных.
Я использую шаблон для всех страниц и размещаю весь контент. Любая помощь будет оценена.
Модель для обновления записи
public function up_ct_acct($id, $sus)
{
$this->db->where('user_id',$id);
$this->db->update('users',$sus);
}
Контроллер для просмотра формы и действия
//for page view
public function update_profile($id, $datum)
{
//the username is on the url.
$id = $this->uri->segment(3);
$datum['user_profile'] = $this->user_model->get_da_profile($id);
//using a template for all pages
$content['main_content'] = $this->load->view('users/update_profile',$datum);
$this->load->view('main',$content);
}
//action to update
public function up_sup_acct()
{
$first_name = $this->input->post('first_name');
$last_name = $this->input->post('last_name');
$phone = $this->input->post('phone');
$mobile = $this->input->post('mobile');
$city = $this->input->post('city');
$country = $this->input->post('country');
$description = $this->input->post('description');
$date_edited = $this->input->post('today');
$sus = array(
'first_name' => $first_name,
'last_name' => $last_name,
'phone' => $phone,
'mobile' => $mobile,
'city' => $city,
'country' => $country,
'description' => $description,
'date_edited' => $date_edited
);
$this->user_model->up_ct_acct($id,$sus);
}
Что-то более простое — поместить данные поста в модель и идентификатор так $this->db->where('user_id',$this->uri->segment(3));
<?php
class Users extends CI_Controller {
public function update_profile($id, $datum) {
$id = $this->uri->segment(3);
$datum['user_profile'] = $this->user_model->get_da_profile($id);
$content['main_content'] = $this->load->view('users/update_profile',$datum);
$this->load->view('main',$content);
}
public function up_sup_acct() {
$this->load->model('user_model');
$this->user_model->up_ct_acct();
}
}
?>
модель
<?php
class User_model extends CI_Model {
public function up_ct_acct() {
$data = array(
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'phone' => $this->input->post('phone'),
'mobile' => $this->input->post('mobile'),
'city' => $this->input->post('city'),
'country' => $this->input->post('country'),
'description' => $this->input->post('description'),
'date_edited' => $this->input->post('today')
);
$this->db->where('user_id',$this->uri->segment(3));
$this->db->update('users',$data);
}
}
В вашем действии up_sup_acct () в вашем контроллере вы вызываете
$this->user_model->up_ct_acct($id,$sus);
Но ваша переменная $ id не установлена.