Ответов: 2 Просмотров: 749
|
Тут правда транзакцию использовал, если тип базы поддерживает, то все ок.
PHP:
скопировать код в буфер обмена
$fields_change = array(); $info_message = ''; $field_status_stmt = DBC::db()->query($req_read); while($field = $field_status_stmt->fetch()) { $fields_change[] = '<div><input type="hidden" value="'.$field['id'].'" name="log_id[]"><input type="text" name="status_c[]" value="'.$field['cargo_status'].'"></div>'; } if(isset($_POST['status_edit'])) { try{ DBC::db()->beginTransaction(); foreach($_POST['status_c'] as $index => $status) { $status = DBC::db()->quote($status); $id = DBC::db()->quote($_POST['log_id'][$index]); $sql = "UPDATE `logs` SET `cargo_status` = {$status} WHERE `id` = {$id}"; DBC::db()->exec($sql); } DBC::db()->commit(); $info_message = '<div class="alert alert-success" role="alert">Статус груза успешно обновлен!</div>'; }catch(PDOException $e){ DBC::db()->rollback(); $info_message = '<div class="alert alert-success" role="alert">Неудача!</div>'; } } return array( 'status_fields' => join(PHP_EOL , $fields_change), 'info_message' => $info_message );
|