Если имя вашего поля имеет квадратные скобки, такие как name="text[]"
, оно отправит массив (как вы, вероятно, знаете). Учитывая это, $this->input->post('text')
всегда будет возвращать сам массив. В настоящее время вы назначаете один и тот же массив каждый раз. Попробуйте получить доступ к значениям по ключу с помощью переменной $i
:
$text = $this->input->post('text');
$user = $this->input->post('user');
for($i=0; $i<=3; $i++)
{
$data[] = array(
'field' => $text[$i],
'filed2' => $user[$i]
);
}
$this->db->insert_batch('table', $data)
В качестве альтернативы, которая может быть более разумной, вместо этого переберите данные $_POST
, выбрав одно имя поля:
$text = $this->input->post('text');
$user = $this->input->post('user');
foreach ($text as $key => $value)
{
$data[] = array(
'field' => $text[$key],
'filed2' => $user[$key]
);
}
Таким образом, у вас не будет знать, сколько значений ожидать, но это действительно ваше дело.