Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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
大型sql表-使用javascript/PHP选择除逐步显示外的所有_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

大型sql表-使用javascript/PHP选择除逐步显示外的所有

大型sql表-使用javascript/PHP选择除逐步显示外的所有,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我有一个包含用户历史数据的大型SQL表,如下所示: ID Name Units Company Benefit Date 1 John 1.5 Example A 300$ 1/1/2016 2 Paul 2.12 Example B 600$ 1/2/2016 3 Mike 3.21 Example A 250$ 1/3/2016 ...

我有一个包含用户历史数据的大型SQL表,如下所示:

ID    Name     Units     Company      Benefit  Date
1     John     1.5       Example A    300$     1/1/2016
2     Paul     2.12      Example B    600$     1/2/2016
3     Mike     3.21      Example A    250$     1/3/2016 
...
**Hi John,**

Your total benefit is: 2043$
Your total yield is: 2%
Your total units by day: 1.25
...

**Historical data**

1/1/2016 - Example A - 1.5 units - 100$ benefit
2/1/2016 - Example B - 2.5 units - 200$ benefit
3/1/2016 - Example A - 3.5 units - 30$ benefit
4/1/2016 - Example C - 1.25 units - 500$ benefit
5/1/2016 - Example A - 1.5 units - 3$ benefit
6/1/2016 - Example A - 2.5 units - 5.4$ benefit

PREV PAGE - NEXT PAGE
我需要加载所有数据以进行一些复杂的计算:收益率、总收益、按公司

然后我需要显示表中的所有数据,但我希望像无限滚动、分页或Ajax加载一样逐步进行。但我不能设置SQL限制,因为需要先加载所有数据

解决方案是进行两次查询:一次查询所有数据,然后查询限制

我最后需要的页面是这样的:

ID    Name     Units     Company      Benefit  Date
1     John     1.5       Example A    300$     1/1/2016
2     Paul     2.12      Example B    600$     1/2/2016
3     Mike     3.21      Example A    250$     1/3/2016 
...
**Hi John,**

Your total benefit is: 2043$
Your total yield is: 2%
Your total units by day: 1.25
...

**Historical data**

1/1/2016 - Example A - 1.5 units - 100$ benefit
2/1/2016 - Example B - 2.5 units - 200$ benefit
3/1/2016 - Example A - 3.5 units - 30$ benefit
4/1/2016 - Example C - 1.25 units - 500$ benefit
5/1/2016 - Example A - 1.5 units - 3$ benefit
6/1/2016 - Example A - 2.5 units - 5.4$ benefit

PREV PAGE - NEXT PAGE

最好的方法是什么?

不要害怕使用多个查询。我感觉你想一次完成这一切,不要。在这种情况下,你可以让它工作,但它很难维持。是的,你应该尽量减少你的查询,但不要过度优化

首先你计算你的平均值和总数,然后立即返回,这将给出你的第一个统计数据。然后显示了前X项,我建议您也不要使用AJAX,而是在构建页面时使用AJAX。这是另一个问题。之后,您可以在AJAX调用中自由使用限制来显示下一个/上一个


通过拆分查询,您可以根据需要优化平均/求和查询,并优化纯行查询。这甚至可能是对您当前性能的一种改进。

不要害怕使用多个查询。我感觉您想一次完成这一切,不要。在这种情况下,你可以让它工作,但它很难维持。是的,你应该尽量减少你的查询,但不要过度优化

首先你计算你的平均值和总数,然后立即返回,这将给出你的第一个统计数据。然后显示了前X项,我建议您也不要使用AJAX,而是在构建页面时使用AJAX。这是另一个问题。之后,您可以在AJAX调用中自由使用限制来显示下一个/上一个


通过拆分查询,您可以根据需要优化平均/求和查询,并优化纯行查询。这甚至可能是对您当前绩效的改进。

我完全同意。聚合(总和和平均值)可以而且应该通过额外的查询在数据库中完成。这还减少了必须从数据库发送到脚本的数据。所以如Martijn所描述的一个聚合查询(平均值、总和),然后是显示实际分录的极限查询。我完全同意。聚合(总和和平均值)可以而且应该通过额外的查询在数据库中完成。这还减少了必须从数据库发送到脚本的数据。所以Martijn描述的一个聚合查询(平均值、总和),然后是显示实际条目的限制查询。