0

ここにフォームがあります: http://kees.een-site-bouwen.nl/evenementform

ご覧のとおり+、イベントに 2 番目の日付を追加するボタンがあります。オプションのフィールドを空白のままにしておくと、すべて(両方の日付フィールド)に入力するとすべてが機能します。空であるため、エラーが発生します。

これらのオプションのフィールドが入力されている場合にのみ使用するように試みましたが、方法がわかりませんでした。

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');
}

2 番目の日付フィールドをオプションにして、空のときにスキップするにはどうすればよいですか?

4

1 に答える 1

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]));    
    }

};
于 2013-08-22T07:59:31.993 に答える