Как я могу реализовать отменить изменения функции в моем приложении php, так что если пользователь, например, добавил нового участника в группу или удалил элемент, появится уведомление: выбранный элемент был удален, действие отмены удаления (ссылка, которая вызывает функцию отмены).
Ниже приведен рабочий код:
public function deleteRecord($id) {
$group = $this->query('SET autocommit=0');
$group = $this->query('DELETE FROM `members` WHERE memberID = '.$id.'');
}public function undo_delete() {
$member = $this->query('rollback');
if($member) {
trigger_error('Undo action has been completed. ', E_USER_NOTICE);
return true;
}
}
Единственная проблема с этим кодом заключается в том, что транзакция не была отправлена, поэтому откат или выход из системы отменят все изменения, сделанные во время сеанса пользователя, я не уверен, что это лучший подход для создания функции повтора, любой предложения?
Вы не сможете отменить с двумя различными запросами. Потому что, когда вы будете вызывать отмену. Это отменит все удаления, произошедшие для всех участников. Чтобы решить это, я бы предложил —
Я надеюсь, что это помогло.
Транзакции не сохраняются через запросы PHP. Если транзакция все еще открыта в конце первого запроса, она будет неявно откатываться, когда соединение MySQL закрывается в конце запроса. В результате больше нет транзакции для отката, когда позднее запрашивается отмена.
Если вы хотите реализовать эту функциональность, она должна быть реализована в логике приложения.