2011/03/30

[CodeIgniter] Form Post data 簡短寫法

codeigniter (ci) 當用form post data的時候要逐個input對應太麻煩了...

例子:
 $data = array(
       'baioti'   => $this->input->post('biaoti'),
        'neirong'     => $this->input->post('neirong'),
        'zuozhe' => $this->input->post('zuozhe'),
         'shijian'    => (string) date('Y-m-j'),
                        );
  $this->db->insert('news',$data);

轉換成新寫法:


$data =$_POST;
$data["shijian"]=(string) date('Y-m-j');
$this->db->insert('news',$data);


以上代碼因為字段太少,不會有很明顯的縮短,但是當你添加的內容需要很多字段的時候,可以明顯縮短許多許多!


當然這樣用的前提是,表單中的域要與數據庫中的字段要對應


有時當直接想用來Insert/update DB時, 會發現"submit" 都同時post去update了...而db沒有"submit "這column, 所以出現error, 這時只要在assign value前加上


unset($_POST['submit']);
$data =$_POST;
$data["shijian"]=(string) date('Y-m-j');
$this->db->insert('news',$data);


得左!

沒有留言:

發佈留言