Je suis coincé en essayant de "fusionner des tableaux sur la date" pour afficher des données dans les graphiques Google Column. Je voudrais regrouper une liste de problème et leur coût par Année/Mois. Voici mes donnéesFusionner tableau sur la date pour afficher Google Chart
array
0 =>
array
'date' => string '2017-03'
'source' => string 'Problem 1'
'cost' => float 135
1 =>
array
'date' => string '2017-03'
'source' => string 'Problem 2'
'cost' => float 385
2 =>
array
'date' => string '2017-04'
'source' => string 'Problem 3'
'cost' => float 3500
3 =>
array
'date' => string '2017-04'
'source' => string 'Problem 1'
'cost' => float 4437.5
4 =>
array
'date' => string '2017-04'
'source' => string 'Problem 2'
'cost' => float 318
Si la sortie souhaitée serait https://jsfiddle.net/9d1fzsaf/1/
Si obtenu les données de MySQL groupby Date et source de problème, peut-être devrais-je optimiser la requête?
SELECT DATE_FORMAT(creation_date,'%Y-%m') AS date,
(CASE
WHEN source_problem = '0' THEN 'Empty'
WHEN source_problem = '1' THEN 'Problem 1'
WHEN source_problem = '2' THEN 'Problem 2'
WHEN source_problem = '3' THEN 'Problem 3'
ELSE 'Others'
END) AS source,
SUM(aprox_cost) AS cost
FROM table
WHERE source_problem IS NOT NULL
GROUP BY DATE_FORMAT(creation_date,'%Y-%m'),
source_problem
Toute aide serait grandement appréciée! Merci
Regrouper vos données lors de l'extraction des enregistrements de requête. –
Merci pour votre réponse, c'est exactement ce que j'essaie de faire $ req-> execute(); '$ results = $ req-> fetchAll(); foreach ($ resultats en $ resultat) { $ data [] = tableau ('date' => $ result ['date'], 'source' => $ result ['source'], 'cost' => (float) $ resultat ['coût']); \t \t} ' Je ne sais pas comment regrouper les données par date ici – kretinus