如何在addform中使用可选字段?

时间:2013-08-22 07:54:39

标签: php mysql codeigniter insert

我在此处有一个表单:http://kees.een-site-bouwen.nl/evenementform

如您所见,我有一个带+的按钮,可以为活动添加第二个日期。当我将可选的一个留空时,所有工作都在填写所有内容(所以两个日期字段都是空白的)我收到错误,因为它是空的。

我尝试过只使用这些可选字段的东西,但我无法弄明白。

我想我必须使用foreach循环。

我将代码插入数据库的代码:

public function addevenement($image_data = array())
{
    $data = array(
        'titel' => $this->input->post('titel'),
        'waar' => $this->input->post('waar'),
        'entree' => $this->input->post('entree'),
        'organisatie' => $this->input->post('organisatie'),
        'omschrijving' => $this->input->post('omschrijving'),
        'www' => $this->input->post('www'),
        'tel' => $this->input->post('tel'),
        'email' => $this->input->post('email'),
        'afbeelding' => $image_data['file_name']
    );          
    $this->db->insert('agenda', $data);

    $id = $this->db->insert_id();

        $data2 = array(
            'idagenda' => $id,
            'datum' => $this->input->post('datum'),
            'van' => $this->input->post('van'),
            'tot' => $this->input->post('tot')
        );


    $this->db->join('agenda', 'agendadatum.idagenda = agenda.idagenda');
    $this->db->where('agendadatum.idagenda', $id);
    $post = $this->input->post();
    for ($i = 0; $i < count($post['datum']); $i++) {
       $this->db->insert('agendadatum', array('idagenda' => $id, 'datum' => $post['datum'][$i], 'van' => $post['van'][$i], 'tot' => $post['tot'][$i]));
    }; 
    redirect('agenda');
}

如何使第二个日期字段可选,以便在它们为空时跳过它们?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

for ($i = 0; $i < count($post['datum']); $i++) {
    if( $post['datum'][$i] != "" ){
        $this->db->insert('agendadatum', array('idagenda' => $id, 'datum' => $post['datum'][$i], 'van' => $post['van'][$i], 'tot' => $post['tot'][$i]));    
    }

};