【问题标题】:Using while loop in array在数组中使用while循环
【发布时间】:2015-02-20 22:50:13
【问题描述】:

尝试通过将 mysql 查询中的值放入数组然后计算持续时间来生成最大和最小持续时间。

我不知道如何在数组中运行查询。请帮忙。

这是我的确切代码:

$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
}

我想要这样的数组: $array = array($total_diff); //$total_diff的所有值

【问题讨论】:

  • RTFM? datediff()timediff()
  • 那个话题完全跑题了!
  • @developerwjk:这不是无限循环。它只会获取查询结果的行,直到没有更多的行可以获取。
  • 好吧,也许mysql_fetch_array 毕竟只获取一行。我已经有一段时间没有使用已弃用的 mysql_ 函数了,所以让我休息一下。
  • 那么问题就完全不清楚了。如果不是这导致了无限循环,那是什么问题?

标签: php mysql arrays mysqli


【解决方案1】:

这样做:

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

【讨论】:

  • 我想将 $total_diff 的所有值放入一个数组中,我该怎么做?
  • 这正是我写的。 '[]' 表示法将 $ total_diff 声明为一个数组,因此它会在循环时继续向数组附加新值....您可以使用 $ total_diff [0] 访问第一个值
  • 非常感谢它为我工作。你很好理解我的问题
猜你喜欢
  • 2020-12-01
  • 2021-11-17
  • 2012-02-26
  • 2020-08-29
  • 2015-11-16
  • 2014-01-10
  • 1970-01-01
  • 2019-08-13
  • 2018-06-05
相关资源
最近更新 更多