Попробуйте:
$fields = array('title', 'url', 'shortdesc', 'longdesc', 'category_id');
foreach ($fields as $field)
{
foreach ($_POST[$field] as $key => $value)
{
$data[$key][$field] = $value;
}
}
foreach ($data as $values)
{
$this->db->insert('table_name', $values);
}
Конечно, есть более простые способы сделать это, но это наиболее гибкий вариант с именами полей формы, которые вы используете, и не имеет значения, сколько разных элементовВы отправляете.Вы сказали, что вставляете, а не обновляете, и это предполагает, что имена столбцов вашей таблицы совпадают с именами полей формы.
Вы могли бы просто перебрать массив $ _POST, но это позволит вамчтобы легко публиковать другие поля без добавления их значений в массив для вставки.
Когда вы сказали i have multiple form
, мне было немного неясно: вам нужно убедиться, что все это в одном теге <form>
.