На странице просмотра есть форма, которая принимает данные в виде многомерного массива. В режиме редактирования это значение формы выбирается и отображает данные через цикл foreach.
Теперь моя проблема в том, что я не могу изменить данные формы в цикле foreach и отправить их в базу данных. Я просмотрел несколько постов о концепции ключа foreach, но как мне взять измененное значение здесь в html и отправить его в базу данных в рамках цикла foreach?
Мой код загружает данные правильно, но не может обновить данные.
Вот мой код просмотра страницы:
<table class="table table-striped" id="dataTable">
<thead>
<tr>
<th>Subscription</th>
<th>Description</th>
<th>Interval</th>
<th>Amount</th>
<th></th>
</tr>
</thead>
<tbody>
<?php
if (!empty($invoice_detail)) {
foreach ($invoice_detail as $key => $result) { ?>
<tr>
<td><input type="text" name="invoice[$key][invoice_detail_subs]" id="invoice_detail_subs"
value="<?php echo $result->invoice_detail_subs; ?>"/></td>
<td><input type="text" name="invoice[$key][invoice_detail_desc]" id="invoice_detail_desc"
value="<?php echo $result->invoice_detail_desc; ?>"/></td>
<td><input type="text" name="invoice[$key][invoice_detail_interval]" id="invoice_detail_interval"
value="<?php echo $result->invoice_detail_interval; ?>"/></td>
<td><input type="text" name="invoice[$key][invoice_detail_amount]" id="invoice_detail_amount"
value="<?php echo $result->invoice_detail_amount; ?>"/></td>
<td></td>
</tr>
<?php }
} ?>
</tbody>
</table>
Вот код обновления в контроллере:
if ($this->input->post('Submit')) {
$query = $this->db->query(
"SELECT * FROM ".$this->db->dbprefix."invoice_details WHERE invoice_detail_invoie_id ='".$id."' "
);
$fetch = $query->row();
$rows = $query->num_rows();
if ($id) {
$data1 = [
'invoice_detail_subs' => $this->input->post('invoice_detail_subs'),
'invoice_detail_desc' => $this->input->post('invoice_detail_desc'),
'invoice_detail_interval' => $this->input->post('invoice_detail_interval'),
'invoice_detail_amount' => $this->input->post('invoice_detail_amount'),
'invoice_detail_mddt' => date("Y-m-d H:i:s")
];
$this->db->update('invoice_details', $data1, 'invoice_detail_invoie_id = '.$id);
}
}