簡體   English   中英

Codeigniter更新數據庫中的數據

[英]Codeigniter Update Data In Database

我是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上嘗試過的內容了。感謝您的任何輸入!

嘗試返回更新

return $this->db->update('news',$data);

另外,您在哪里輸入id變量?

也許做

$this->db->where('id', $this->input->post('id'))

所以看起來

$this->db->where('id', $this->input->post('id'));
return $this->db->update('news',$data);

但是,請先嘗試返回。

第2部分來自有關如何創建更新功能的注釋

public function edit_news($id,$data){

 $slug = url_title($this->input->post('title'));


  $data = array('title' => $this->input->post('title'),
              'slug' => $slug,
              'body' => $this->input->post('body')

                );

              $this->db->where('id', $this->input->post('id'));

              return $this->db->update('posts',$data);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM