0
我正在對每個項目進行計數和求和,並且需要數組看起來像這樣。來自查詢的多個數組
[Date] =>
[device_type1] => [all the data]
[device_type2] => [all the data]
事情是我通過每做一個搜索,然後所有的人都返回一個日期,我需要所有的人都被下一個日期,該數組裏面保存每個設備的關鍵和裏面的所有信息。這是我到目前爲止。
$all_device_types = array('pole','covert','firewatch','internet','trailer','slave','project');
foreach ($all_device_types as $adt) {
$du->select("CONCAT(YEAR(uptime_date),'-',MONTH(uptime_date),'-',DAY(uptime_date)) as year_month_day,
SUM(uptime_router) as router,
COUNT(uptime_router) as router_count,
uptime_device_type as device_type,
date(uptime_date) as data_date","
WHERE uptime_device_type = '".$adt."'
GROUP BY CONCAT(YEAR(uptime_date),'-',MONTH(uptime_date),'-',DAY(uptime_date))
ORDER BY uptime_date ASC");
$all_results = array();
while($all_row = $du->fetch()){
if ($adt == $all_device_types[0]) {
$dates[] = $all_row['data_date'];
$adt_0 = $all_row;
} elseif ($adt == $all_device_types[1]) {
$adt_1[] = $all_row;
} elseif ($adt == $all_device_types[2]) {
$adt_2[] = $all_row;
} elseif ($adt == $all_device_types[3]) {
$adt_3[] = $all_row;
} elseif ($adt == $all_device_types[4]) {
$adt_4[] = $all_row;
} elseif ($adt == $all_device_types[5]) {
$adt_5[] = $all_row;
} elseif ($adt == $all_device_types[6]) {
$adt_6[] = $all_row;
}
}
}
其中一個結果如下所示。
[pole] => Array
(
[year_month_day] => 2017-9-5
[router] => 4408
[router_count] => 4620
[device_type] => pole
[data_date] => 2017-09-05
)
太棒了!非常感謝!另外,如果我想添加另一個字段All_devices ...每個日期都會計算設備路由器和路由器的數量並且有總數?這將包含在while循環中還是在所有之後? – Derrand
不客氣。你應該可以在while循環中做到這一點。我可以更新答案給你看。 –
非常感謝你的ID欣賞。 – Derrand