Я новичок в Codeigniter и у меня проблемы с пониманием того, что я сделал неправильно в своем коде для обновления данных в моей базе данных.Я был бы очень признателен за ваш вклад, так как я ломал голову, пытаясь выяснить проблему.Спасибо!
Это мой контроллер:
public function edit(){
$slug=basename($_SERVER['REQUEST_URI']);
$data['news_item']=$this->news_model->get_news($slug);
$id=$data['news_item']['id'];
$this->load->helper('form');
$this->load->library('form_validation');
$data['title'] = 'Edit a news item';
$this->form_validation->set_rules('title', 'Title', 'required');
$this->form_validation->set_rules('text', 'Text', 'required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('news/edit');
$this->load->view('templates/footer');
}
else{
$data = array(
'title' => $this->input->post('title'),
'text' => $this->input->post('text')
);
$this->news_model->edit_news($id,$data);
$this->load->view('templates/header', $data);
$this->load->view('news/success');
$this->load->view('templates/footer');
}
}
Это мои модели, одна для получения строки таблицы и одна для обновления (видимо, xD):
public function get_news($slug= FALSE){
if($slug === FALSE){
$query=$this->db->get('news');
return $query->result_array();
}
$query=$this->db->get_where('news', array ('slug' => $slug));
return $query->row_array();
}
public function edit_news($id,$data){
$this->db->where('id',$id);
$this->db->update('news',$data);
return;
}
Я отладил (если можно так назвать) контроллер и модели и проверил все важные значения, напечатав их или повторив их, и все в порядке.
Ничего плохого в моем мнении с моими формами или чем-то еще.Кажется, все работает нормально, пока не будет вызвано актуальное обновление (
$this->db->where('id',$id);
$this->db->update('news',$data);
).
Я даже не могу вспомнить, что я пробовал на этом xD Заранее спасибо за любой вклад!