2016-04-05 15 views
1

私は契約開始日と契約終了日として2つの日付フィールドを含む30以上のユーザー入力を持つ大きなフォームを持っています。私はフロントエンドで日付をキャプチャするためにJqueryのUIを使用しています。Codeigniterを使用してMySQLに日付を格納する。 0000:00:00として保存された日付

コントローラー:

$data = $this->input->post(); // returns all POST items without XSS filter 
      $this->form_validation->set_error_delimiters('<div class="alert alert-dismissible alert-info"><button type="button" class="close" data-dismiss="alert">close</button>', '</div>'); 
      $this->form_validation->set_rules('nameMusicCompany', 'Music Company Name', 'required'); 

      if($this->form_validation->run() == FALSE) 
      { 
       $this->load->view('pages/clientview/client_page'); 
       $this->load->view('templates/footer'); 
      } 
      else 
      { 

       $result = $this->client_model->create_new_client($data); 
       if($result !== false) 
       { 
        $this->session->set_flashdata('client_insert_message', '<div class="alert alert-success alert-dismissible text-center" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>New Client Created Successfully!</div>'); 
        redirect('Client'); 
       } 
      } 

私は、アレイ内のすべての30のフィールドの値を取得するために$this->input->post()を使用して$データにそれを割り当てました。 MySQLのテーブルにデータを挿入する

モデル:00:00を表に

public function create_new_client($data) 
     { 
       $this->db->insert('client_data', $data); 

       if($this->db->affected_rows() > 0) 
       { 
         return true; 
       } 
       else 
       { 
         return false; 
       } 
     } 

それは日付が0000として格納されていることを除いて正常に動作しています。どちらの列も、MySQLではTIMESTAMPというデータ型を持っています。

答えて

1

mysqlタイムスタンプフィールド受け入れyyyy-mm-dd H:i:s日付の形式で、UNIX形式のタイムスタンプではなくこの形式に日付を渡す必要があります。

は次のように日付を変換します

$date = date('Y-m-d H:i:s', $your_date); 
関連する問題