PHP/MySQL - 编辑审批系统

标签 php mysql sql database

我有一个商业列表网站。我目前正在构建一个界面,供用户登录和更新他们的列表。

我想实现的功能如下:

  1. 用户编辑列表并提交
  2. 将修改发送给管理员以供批准
  3. 与此同时,现有列表仍保留在网站上
  4. 管理员审核修改并在批准前更正任何错误

现在通常可以通过在数据库中存储“重复”行并将标志设置为“待定”来完成类似的事情。

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

所以理想情况下,我不希望创建额外的数据库记录。我可以使用更好的替代方案吗?

最佳答案

实际上有两种不同的方法。

  1. 使用数据库(在相同的表中,或者在结构与原始表几乎相同的一些“待定更改”表中),尽管它以某种方式创建记录。

  2. 根本不使用数据库,而是使用一些中间存储(键/值存储;消息队列;内存缓存;电子邮件;只是一些文件;想到什么都行;))

使用选项 2,您可以轻松地像 2 位评论者对您的问题所说的那样:创建一个数据结构并序列化该结构并将其存储在任何地方,直到管理员“批准”数据并将其更新到数据库中。

乍一看,第二个选项当然会更快地实现,尽管在数据库中实现它可以让您能够通过使用当前或状态标志来“回滚”更改。其次,恕我直言,您想将所有(相关)数据放在一起以保持其可维护性

关于PHP/MySQL - 编辑审批系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596366/

相关文章:

php - 从 mcrypt_encrypt() 迁移到 openssl_encrypt()

php - 使用 Web 应用程序防火墙是否安全

php - 在 Symfony2 中从 javascript 访问 php 变量

php - 使用 SQL 查询中的数据,但不显示表中的列

SQL追加表查询

javascript - PHP (CakePHP) - 识别由 JavaScript 创建的表单元素

mysql - 如何忽略 MySQL 5.6 的小数秒?

php - 是否可以将 Array 的值存储为一个新变量?

android - 在 Android 平板电脑和运行 Windows 7 的桌面之间复制 sqlite .db 文件

mysql - 如何在最大 ID 处获取最大数据