Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL-编辑批准系统_Php_Mysql_Sql_Database - Fatal编程技术网

PHP/MySQL-编辑批准系统

PHP/MySQL-编辑批准系统,php,mysql,sql,database,Php,Mysql,Sql,Database,我有一个商业清单网站。我目前正在为用户建立一个登录和更新列表的界面 我想实现的功能如下: 用户编辑列表并提交 编辑内容将发送给管理员审批 与此同时,现有清单仍保留在网站上 管理员审核编辑并在批准前更正任何错误 现在,通常可以通过在数据库中存储一个“重复”行,并将标志设置为“挂起”来完成类似的操作 但是,如果可能的话,我想尝试另一种方法,因为列表数据存储在多个表中,包括一个包含多个类别选择的表 因此,理想情况下,我不希望创建额外的数据库记录。有没有更好的替代方法呢?实际上有两种不同的方法 在相同的

我有一个商业清单网站。我目前正在为用户建立一个登录和更新列表的界面

我想实现的功能如下:

用户编辑列表并提交 编辑内容将发送给管理员审批 与此同时,现有清单仍保留在网站上 管理员审核编辑并在批准前更正任何错误 现在,通常可以通过在数据库中存储一个“重复”行,并将标志设置为“挂起”来完成类似的操作

但是,如果可能的话,我想尝试另一种方法,因为列表数据存储在多个表中,包括一个包含多个类别选择的表


因此,理想情况下,我不希望创建额外的数据库记录。有没有更好的替代方法呢?

实际上有两种不同的方法

在相同的表中使用数据库,或者在与原始表结构几乎相同的一些挂起的更改表中使用数据库,尽管这样或那样会创建记录

根本不使用数据库,而是使用一些中间存储键/值存储;消息队列;memcache;电子邮件只是一些文件;无论想到什么

使用选项2,您可以很容易地按照问题的两位评论员所说的那样做:创建一个数据结构并序列化此结构并将其存储在任何位置,直到管理员批准数据并在数据库中更新它


乍一看,第二个选项当然会更快地实现,尽管在数据库中实现它可以让您通过使用当前或状态标志回滚更改。其次,imho,您希望将所有相关数据紧密地放在一起以保持其可维护性

可能只是一个带有原始记录id和已序列化并存储的更新数据的链接表?您可以设计wiki表,以便将关系存储为序列化数组。它需要在您端进行额外的处理,但会将其保留在一个表中。