维护PHP应用程序的历史表

时间:2015-05-25 08:16:10

标签: php mysql codeigniter history

我想维护应用程序的历史记录表,以跟踪用户更改了所有字段的内容。

以下是我的 bugs_history 表格结构 -

id, bugsid, userid, field_changed, old_value, new_value, created_on, created_by

所以我的查询是,当我更新我的表单并提交时,如何获得已更改的字段名称以及旧值 new值即可。并在上面的历史记录表中添加修改后的更改。

我已经搜索了很多内容,但没有根据我的要求得到。请告诉我如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

如果您知道字段名称(您有一个包含它们的HTML表单,那么您可能知道名称)然后构建一个列表然后循环,构建一个新的<div class="col-xs-3">查询以获取{{ 1}}然后SELECT查询以保存它。选择将在old_valueINSERT上订购。

但我在这里看到一个明显的问题:并发性。当两个用户同时尝试编辑同一个bug(同一个created_on DESC)时会发生什么?他们会期望两者的LIMIT 1相同吗?或者这两个操作是否应该按顺序执行?或者是否应该警告最后一个编辑他是否正在尝试编辑陈旧数据?哪一个会获得“最新”bugsid? 这就是你真正的问题,而不是编写生成两个SQL查询的代码。