Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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 从数据库中取出以前未看到的记录_Php_Sql_Sql Server_Codeigniter - Fatal编程技术网

Php 从数据库中取出以前未看到的记录

Php 从数据库中取出以前未看到的记录,php,sql,sql-server,codeigniter,Php,Sql,Sql Server,Codeigniter,我有一个web应用程序(使用codeigniter构建),它每n次运行一次。它将执行一个存储过程,以获取最近订单的列表。任务的一部分是使用存储过程,但我确定解决方案是否需要另一种不应该成为问题的方法 检索到的每个记录都有一个唯一的订单id。当这些记录被提取出来时,订单数据被提取出来,以pdf格式放在一起,并通过电子邮件发送给订单所有者 我的问题是,哪种方法是只检索以前未处理过的记录的最佳方法。我最初的想法是将最后处理的记录存储在一个文件中。每次运行应用程序时,都要查找文件,获取最后存储的ID,然

我有一个web应用程序(使用codeigniter构建),它每n次运行一次。它将执行一个存储过程,以获取最近订单的列表。任务的一部分是使用存储过程,但我确定解决方案是否需要另一种不应该成为问题的方法

检索到的每个记录都有一个唯一的订单id。当这些记录被提取出来时,订单数据被提取出来,以pdf格式放在一起,并通过电子邮件发送给订单所有者

我的问题是,哪种方法是只检索以前未处理过的记录的最佳方法。我最初的想法是将最后处理的记录存储在一个文件中。每次运行应用程序时,都要查找文件,获取最后存储的ID,然后取出ID>的记录

不久前,我编写了一个Perl脚本,它使用Tail模块对日志文件做了类似的操作。它会查找并归档,看到一个它没有处理的新行,然后再处理它,但scipt仍然在稳定地运行。我知道这是非常不同的,但有什么类似的,我可以做PHP与数据库

我宁愿不必在数据库中存储任何东西,只通过存储过程进行查询

谢谢


比利

嗯,听起来很笨重。我会把这些信息储存在数据库里

向Orders表中添加一个标志,指示是否已对其进行了处理。或者,使用MailID和OrderId保存一个表,该表跟踪订单发送的电子邮件。若要发送新邮件,请加入并说出MailId为null的位置。我会给你那些没有的;我还没发邮件

我看不出有什么理由把它与DB分开,还有很多理由(特别是保持它的简单…)把它保留在DB中


Rgds GJ

嗯,听起来很笨重。我会把这些信息储存在数据库里

向Orders表中添加一个标志,指示是否已对其进行了处理。或者,使用MailID和OrderId保存一个表,该表跟踪订单发送的电子邮件。若要发送新邮件,请加入并说出MailId为null的位置。我会给你那些没有的;我还没发邮件

我看不出有什么理由把它与DB分开,还有很多理由(特别是保持它的简单…)把它保留在DB中


Rgds GJ

IMHO检索以前未处理的记录的最佳方法是获取具有特定状态的记录

你提到:

我宁愿不去商店 数据库中的任何内容,仅通过 存储过程

我建议在orders表中添加status字段,并在发送订单后更改订单状态


我不信任取货订单ID>以前发送的订单ID。如果您需要更新已发送的旧订单,并且需要再次发送该订单,会发生什么情况?

我想,检索以前未处理过的记录的最佳方法是获取具有特定状态的记录

你提到:

我宁愿不去商店 数据库中的任何内容,仅通过 存储过程

我建议在orders表中添加status字段,并在发送订单后更改订单状态


我不信任取货订单ID>以前发送的订单ID。如果需要更新已发送的旧订单并再次发送,会发生什么情况?

为什么不希望在数据库中存储任何内容?看起来您希望存储一段能够在很长一段时间内保持的信息,而这正是DB的好处所在。您是否真的更关心速度、更开放的连接或其他方面?也许是遗留系统?你能更改数据库模式吗?你的订单表中有哪些字段?数据库是桌面应用程序系统的一部分,我必须说服开发人员添加任何额外的字段。如果这是最好的方法,那么好吧,我想我必须添加一个FlagOK,假设一个中央数据库和一个具有多个实例的桌面应用程序,您必须将此信息存储在数据库中的某个位置。否则,一个人可以处理记录,而应用程序的所有其他实例将无法知道哪些记录被处理。但是,我看不出应用程序本身需要为这些信息设置前端“字段”的任何原因。如果你愿意,你可以这样做,标志只由应用程序本身读/写,用户永远看不到。为什么你不喜欢在数据库中存储任何东西?看起来您希望存储一段能够在很长一段时间内保持的信息,而这正是DB的好处所在。您是否真的更关心速度、更开放的连接或其他方面?也许是遗留系统?你能更改数据库模式吗?你的订单表中有哪些字段?数据库是桌面应用程序系统的一部分,我必须说服开发人员添加任何额外的字段。如果这是最好的方法,那么好吧,我想我必须添加一个FlagOK,假设一个中央数据库和一个具有多个实例的桌面应用程序,您必须将此信息存储在数据库中的某个位置。否则,一个人可以处理记录,而应用程序的所有其他实例将无法知道哪些记录被处理。但是,我看不出应用程序本身需要为这些信息设置前端“字段”的任何原因。如果你愿意,你可以这样做,标志只由应用程序本身读/写,用户永远看不到。