当前位置: 首页 > 知识库问答 >
问题:

在PHP CRUD应用程序中撤消

姚树
2023-03-14

在PHP CRUD应用程序中实现撤消功能的最佳方法是什么?我能想出的唯一解决方案是在我的数据库中使用一种定期擦除的缓冲区表。

例如,如果用户在删除一条记录后单击“撤消”按钮,最后一次更改的id将被传递给一个处理程序,该处理程序将拉出缓冲区记录并将其恢复到该数据类型的主表中。如果“撤消”在4或5分钟内没有完成,收割者脚本将删除该条目。

这听起来可行吗?有没有更好的方法来完成这件事?

共有2个答案

丰博
2023-03-14

我已经学会了不删除任何内容,而是像Ignacio Ocampo所说的那样,在数据库中使用一个标志列(如status)。默认情况下,将“状态”列设置为“打开”。如果您的客户单击删除按钮,只需将记录状态列更新为void或deleted。

在执行此操作时,您需要更新数据请求,以仅拉取status列设置为Open的那些记录。这使得数据既不会丢失,也不会被看到。

所有撤消或重做(如果适用)都可以将打开状态重置为按时间戳列排序的-或+1记录。

如果db空间非常重要,并且需要删除旧的数据,那么crontab可以工作,但我更喜欢简单的phpmyadmin conjob循环一个文件,该文件将清除所有早于time()-'(上次cron运行)的无效记录或已删除记录。

闻人昕
2023-03-14

可以使用数据库中的标志字段标记要删除的行。

您还可以设置task(linux中的crontab)来删除所有行,删除标志设置为true,time difference>设置为5分钟。

 类似资料:
  • 问题内容: 我有一个现有的Flask应用程序,并且想找到通往另一个应用程序的路线。更具体地说,第二个应用程序是Plotly Dash应用程序。如何在现有的Flask应用程序中运行Dash应用程序? 我还尝试将路由添加到Dash实例,因为它是Flask应用程序,但出现错误: 问题答案: 从文档: 基本的Flask应用程序可从访问app.server。 你还可以将自己的Flask应用实例传递到Dash

  • 我试图在SpringMVC中运行SpringBoot应用程序,在SpringMVCPOM中添加SpringBoot应用程序依赖项,并扫描SpringBoot包,但我面临以下问题

  • 我有一个java应用程序,需要部署在weblogic服务器中。我目前正在为该应用程序制作ear文件。我的ear文件中有一个ejb jar。我想将log4j2 jar添加到此应用程序中。所以我的文件夹结构是 目前,我已经将JAR放在APP-INF文件夹/lib和META-INF/application中。xml我把JAR放在了模块中。这是我的申请表。xml 但它不接受log4j罐子。有什么解决方案吗

  • 问题内容: 我想使用html applet标记在我的Web应用程序中运行简单applet,但是它给出了类似的错误 java.lang.ClassNotFoundException:MyApplet 请给我示例应用程序,如果可能的话..... 问题答案: 问题是applet引擎在您定义的代码库中找不到MyApplet类。 这是因为您在/ WEB-INF / classes目录中进行了分类。该目录受s

  • 我试图理解我们什么时候需要使用这个应用程序。在我们的node Express中使用 当我在网上搜索时,我在reddit上偶然发现了这个答案,它说明了应用程序之间的区别。获取和应用程序。使用 在此基础上,我总结了以下几点。 充当超级路由或中间件?这意味着它在? 此外,如果有人能添加更多关于app.use.的信息/练习,我将不胜感激

  • 问题内容: 在多线程应用程序中如何使用Hibernate(例如,每个客户端连接在服务器上启动它自己的线程)。 EntityManager应该仅由EntityManagerFactory创建一次,例如: 还是我必须为每个线程以及关闭EM的每个事务重新创建实体? 我的CRUD方法如下所示: 我要不要每次都跑?还是因为每个人都使用自己的缓存创建自己的EntityManager实例而使我陷入麻烦了? 问题