2014-12-22 36 views
-4

尝试通过将mysql查询中的值放入数组,然后计算持续时间来生成最大和最小持续时间。我不知道如何在数组中运行查询。请帮忙。在数组中使用while循环

这里是我的确切代码:

$mindur_query = mysql_query("SELECT *, CONCAT(`cancel_date`, `pur_date`) AS orderdate FROM `sales_report` WHERE $cancelled_query $req_query $req_status CONCAT(`cancel_date`, `pur_date`) BETWEEN '$req_date1' AND '$req_date2' ORDER BY orderdate"); 
while($mindur_fetch = mysql_fetch_array($mindur_query)){ 
$mindurtermi_date = $mindur_fetch['termi_date']; 
$mindurstr_date = $mindur_fetch['str_date']; 

$diff = (strtotime($mindurtermi_date)- strtotime($mindurstr_date))/24/3600; 
$total_diff = number_format($diff, 0); // Want to put this value in array 
} 

我想数组是这样的: $阵列=阵列($ total_diff); //为$ total_diff

+3

RTFM? [datediff()](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff)和[timediff()](http://dev.mysql .com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff) –

+0

该主题完全是偏题! – DLastCodeBender

+0

@developerwjk:它不是一个无限循环。它只会获取查询结果行,直到没有更多的行要获取。 –

回答

1

所有值只是这样做:

$total_diff[] = number_format($diff, 0); 
+0

我想将$ total_diff的所有值放入一个数组中,我该怎么做? – JoJo

+0

这正是我写的。 '[]'表示法将$ total_diff声明为一个数组,因此它会继续向数组添加新的值,因为它会循环....您可以使用$ total_diff [0] – DLastCodeBender

+0

访问第一个值非常感谢它为我工作。你非常了解我的问题 – JoJo