Итак, я новичок в PHP и MySQL в целом, а также в приложениях MVC.Простите, если на этот вопрос уже был дан ответ, я не смог найти ничего, что было бы кристально чистым и показало полный поток MVC этого.
Итак, у меня есть HTML-таблица, заполненная входными данными, заполненными даннымив, я генерирую форму для каждой строки в виде отдельной таблицы и кнопку отправки для каждой.Я хочу, чтобы кнопка обновления обновляла только строку, связанную с сгенерированной формой.
Если удалить this->db->where('id', $id);
из модели, она обновляет все строки в таблице с одинаковой информацией, при этом ничего не обновляется.
Любая помощь или альтернативный метод для достижения этой цели будет наиболее ценным.Я думаю, что функция контроллера не так уж и плоха.
Спасибо.
VIEW
<?php foreach($log->result() as $row): ?>
<?=form_open('hq/update_entry');?>
<table class="editLog">
<tr>
<td><?php
$data = array(
'name' => 'no',
'value' => $row->no
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'date',
'value' => $row->date
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'artist',
'value' => $row->artist
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'title',
'value' => $row->title
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'long',
'value' => $row->long
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'lat',
'value' => $row->lat
);
echo form_input($data);
?></td>
<td>
<?php
echo form_hidden('id', $row->id);
$data = array(
'class' => 'updateSubmit',
'value' => '✚'
);
echo form_submit($data);
?></td>
</tr>
</table>
<?=form_close();?>
КОНТРОЛЛЕР
function update_entry()
{
$this->load->model('update_entry_model');
if($query = $this->update_entry_model->update())
{
$this->index();
}
else
{
redirect('hq');
}
}
МОДЕЛЬ
<?php
class Update_entry_model extends CI_Model {
function update()
{
$data = array(
'no' => $this->input->post('no'),
'date' => $this->input->post('date'),
'artist' => $this->input->post('artist'),
'title' => $this->input->post('title'),
'long' => $this->input->post('long'),
'lat' => $this->input->post('lat')
);
$this->db->where('id', $id);
$this->db->update('entries', $data);
}
}