У меня есть около 8 флажков, которые динамически генерируются из моей базы данных.
Это код в моем контроллере
//Start Get Processes Query
$this->db->select('*');
$this->db->from('projects_processes');
$this->db->where('process_enabled', '1');
$data['getprocesses'] = $this->db->get();
//End Get Processes Query
//Start Get Checked Processes Query
$this->db->select('*');
$this->db->from('projects_processes_reg');
$this->db->where('project_id', $project_id);
$data['getchecked'] = $this->db->get();
//End Get Processes Query
Это код, на мой взгляд.
<?php if($getprocesses->result_array()) { ?>
<?php foreach($getprocesses->result_array() as $getprocessrow): ?>
<tr>
<td><input <?php if($getchecked->result_array()) { foreach($getchecked->result_array() as $getcheckedrow): if($getprocessrow['process_id'] == $getcheckedrow['process_id']) { echo 'checked'; } endforeach; }?> type="checkbox" name="progresscheck[]" value="<?php echo $getprocessrow['process_id']; ?>"><?php echo $getprocessrow['process_name']; ?><br>
</td>
</tr>
<?php endforeach; ?>
Это создает флажки в форме, а также проверяет соответствующие, как указано в базе данных.
Проблема в их обновлении.
До сих пор я просто удалял все записи-флажки для проекта, а затем заново вставлял все значения в базу данных. Это плохо, потому что 1. Это медленно и ужасно. 2. Я теряю все свои метаданные о том, когда были установлены флажки.
Итак, я думаю, мой вопрос, как мне обновить только те чекбоксы, которые были изменены?
Спасибо,
Тим