Форма, которую вы покажете, создаст массив $ _POST с индексами имени, адреса, возраста и адреса электронной почты. Каждый из них будет содержать n строк, которые предоставляет ваша форма. Например:
array(
'name' => array('First Name','Second Name'),
'address' => array ('First Address','Second Address'),
'age' => array('First Age','Second Age'),
'email' => array('First Email', 'Second Email')
);
Возможно, вы захотите переставить этот массив в один, где каждый индекс массива - это «персона». Это упростит вставку информации в вашу базу данных.
//subtract 1 from below to account for the assumed submit button
$number_of_rows = count($_POST)-1;
for($i=0;$i<$number_of_rows;$i++){
$person[]['name'] = $this->input->post('Name')[$i];
$person[]['address'] = $this->input->post('Address')[$i];
$person[]['age'] = $this->input->post('Age')[$i];
$person[]['email'] = $this->input->post('Email')[$i];
}
Это создаст что-то вроде этого:
array(
0=>array('First Name','First Address','First Age','First Email'),
1=>array ('Second Name','Second Address','Second Age','Second Email')
);
Теперь вы можете использовать цикл для вставки каждого человека в БД.
for($y=0;$y<count($person);$y++){
$this->db->insert('mytable',$person[$y];
}