Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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_Logic_Export To Excel - Fatal编程技术网

Php 导出数据逻辑

Php 导出数据逻辑,php,logic,export-to-excel,Php,Logic,Export To Excel,我的场景: 我有一个关于导出数据的问题。我有一个PHP脚本,运行一个复杂的查询,返回数据需要一些时间 当我得到我呈现给用户的数据时,如果他们愿意,他们可以导出数据 我的逻辑 为了避免在用户导出数据时重新运行查询,我使用查询返回的数据设置了一个会话变量,如果用户单击“导出”,脚本将使用会话变量中的数据集构建excel 我的问题 由于数据存储在会话变量中,如果用户运行不同的报告,那么会话变量保存的所有数据将仅是他们运行的最后一个数据 同一份报告的深入调查就是这样 我的问题 1-其他开发人员如何处理这

我的场景:

我有一个关于导出数据的问题。我有一个PHP脚本,运行一个复杂的查询,返回数据需要一些时间

当我得到我呈现给用户的数据时,如果他们愿意,他们可以导出数据

我的逻辑

为了避免在用户导出数据时重新运行查询,我使用查询返回的数据设置了一个会话变量,如果用户单击“导出”,脚本将使用会话变量中的数据集构建excel

我的问题

由于数据存储在会话变量中,如果用户运行不同的报告,那么会话变量保存的所有数据将仅是他们运行的最后一个数据

同一份报告的深入调查就是这样

我的问题

1-其他开发人员如何处理这种情况

2-用户单击导出数据后,他们是否会重新运行查询?(不要紧,需要双倍的时间)

3-为每个报告设置一个不同的会话变量?(如果您有100个用户和20个报告,那么在用户运行所有报告的情况下,您将有2000个会话变量)

感谢您的评论。

您可以利用来降低第二次运行查询的成本


嗨,克里斯,我正在使用PHP Oracle OCI8或。。。基本原理仍然是一样的。您可能会在数据库中创建一个用户会话表,其中包含时间戳和查询的唯一标识。控制用户活动并根据会话开始时间确定超时的最佳且最简单的方法。