1
我正在運行一個查詢,該查詢將一些需要轉換爲JavaScript數組以便使用Google Graph的數據返回。將MySQL結果轉換爲Google圖表的JavaScript數組
下面是該查詢:
SELECT
sub.supplier_name,
(
SELECT ROUND(AVG(sp.progress), 2) as P1
FROM `sub_performancemeasures` AS sp
INNER JOIN `submissions` AS sub ON sub.id = sp.sub_id
WHERE `period` = '1'
) AS p1,
(
SELECT ROUND(AVG(sp.progress), 2) as P2
FROM `sub_performancemeasures` AS sp
INNER JOIN `submissions` AS sub ON sub.id = sp.sub_id
WHERE `period` = '2'
) AS p2,
(
SELECT ROUND(AVG(sp.progress), 2) as P3
FROM `sub_performancemeasures` AS sp
INNER JOIN `submissions` AS sub ON sub.id = sp.sub_id
WHERE `period` = '3'
) AS p3,
(
SELECT ROUND(AVG(sp.progress), 2) as P4
FROM `sub_performancemeasures` AS sp
INNER JOIN `submissions` AS sub ON sub.id = sp.sub_id
WHERE `period` = '4'
) AS p4,
(
SELECT ROUND(AVG(sp.progress), 2) as P5
FROM `sub_performancemeasures` AS sp
INNER JOIN `submissions` AS sub ON sub.id = sp.sub_id
WHERE `period` = '5'
) AS p5
FROM `submissions` AS sub
INNER JOIN `sub_performancemeasures` AS sp ON sub.id = sp.sub_id
INNER JOIN `performance_measures` AS pm ON sp.pm_id = pm.id
INNER JOIN `kpis` ON kpis.id = pm.kpi_id
GROUP BY sub.supplier_name
,該查詢產生以下數組:
Array (
[0] => Array (
[sub] => Array (
[supplier_name] => C Spencer Ltd
)
[0] => Array (
[p1] => -11.43
[p2] => 36.67
[p3] =>
[p4] =>
[p5] =>
)
)
[1] => Array (
[sub] => Array (
[supplier_name] => Supplier 2
)
[0] => Array (
[p1] => 15.21
[p2] => -6.44
[p3] =>
[p4] => 65.41
[p5] =>
)
)
)
然後我需要借這個查詢,並將其轉換,以適應下面的JavaScript數組:
[
['Period', 'Allen', 'Tom', 'Sim'],
[1, null, null, -100],
[2, 3, null, null],
[3, 3, null, null],
[4, null, 2, null],
[5, 3, 100, null],
]
當前字符串中的數據是示例數據。我需要的陣列看起來像這樣:
[
['Period', 'C Spencer Ltd', 'Supplier 2'],
[1, -11.43, 15.21],
[2, 36.67, -6.44],
[3, null, null],
[4, null, 65.41],
[5, null, null],
]
這是我到目前爲止已經試過:
$str1="[['Period',";
foreach($avgSupScores as $supplier){
$str1 .= "'".$supplier['sub']['supplier_name']."', ";
//$str2 .= "1, ".$periods[0]['p1']."";
}
$str1 = rtrim($str1, ", ");
$str1 .= "],[";
echo $str1;
這導致:
[['Period','C Spencer Ltd', 'Supplier 2'],[
第一行是確定的,但我不確定該從哪裏出發去獲得我需要的東西,我也不確定這是否是正確/最好的方法。
您是否嘗試自行轉換它? – Epodax
我做了,但我沒有得到任何地方。我試圖用foreach循環來連接字符串 – jampez77
告訴我們你已經嘗試了什麼,並得到了什麼錯誤(編輯你的問題,不要將它包含在註釋中) – Epodax