我正在开发一个处理多个同时用户的 php / mysql 应用程序。我正在考虑对当前正在查看/编辑的记录进行锁定/警告时采取的最佳方法。
要避免的情况是两个用户查看记录,一个进行更改,然后另一个执行相同的操作 - 一个更改可能会覆盖以前的更改。
在最新版本的 WordPress 中,他们使用某种方法来检测这一点,但它似乎并不完全可靠——通常会返回误报,至少在我的经验中是这样。
我假设必须使用某种形式的 ajax 来“ping”应用程序并让它知道记录仍在被查看/编辑(否则,用户可能会简单地关闭他们的浏览器窗口,然后应用程序将如何知道这一点)。
我可以看到的另一个解决方案是检查提交记录以供更新时的最后更新时间,以查看在此期间它是否已在其他地方更新 - 然后为用户提供继续或放弃他们自己的更改的选择。
也许我在解决方案方面提出了错误的建议-人们实现此(必须是相当普遍的)要求的经验是什么?