Somar resultados agrupando por data
Boa tarde, tenho uma tabela com uma coluna log_status, nesta coluna eu recebo 3 tipos de valores: (1,2,3).
1=ok
2=info
3=erro.
Estou tentando fazer um gráfico, e reunir os mesmos status por dia. Consegui somar os resultados criando um if no PHP, porem nao consigo agrupar por data, alguém consegue me ajudar?
O resultado do meu código é esse:
{ day: '2014-05-11', a: 1, b: 0, c: 0 },
{ day: '2014-05-12', a: 0, b: 1, c: 0 },
{ day: '2014-05-12', a: 1, b: 0, c: 0 },
{ day: '2014-05-12', a: 0, b: 0, c: 1 },
{ day: '2014-05-12', a: 0, b: 0, c: 1 },
{ day: '2014-05-13', a: 1, b: 0, c: 0 },
{ day: '2014-05-13', a: 0, b: 0, c: 1 },
{ day: '2014-05-13', a: 1, b: 0, c: 0 },
precisava de uma soma dos resultados por dia, tipo assim:
{ day: '2014-05-11', a: 1, b: 0, c: 0 },
+-----------------------------------------
{ day: '2014-05-11', a: 1, b: 0, c: 0 },
{ day: '2014-05-12', a: 0, b: 1, c: 0 },
{ day: '2014-05-12', a: 1, b: 0, c: 0 },
{ day: '2014-05-12', a: 0, b: 0, c: 1 },
{ day: '2014-05-12', a: 0, b: 0, c: 1 },
+-----------------------------------------
{ day: '2014-05-12', a: 1, b: 1, c: 2 },
{ day: '2014-05-13', a: 1, b: 0, c: 0 },
{ day: '2014-05-13', a: 0, b: 0, c: 1 },
{ day: '2014-05-13', a: 1, b: 0, c: 0 },
+-----------------------------------------
{ day: '2014-05-13', a: 2, b: 0, c: 1 },
CÓDIGO:
$query = mysql_query("SELECT DATE(log_data_ultima_atualiza) AS data, log_status FROM logs ORDER BY data") or die(mysql_error());
while ( $result = mysql_fetch_array($query) ) {
$status = $result['log_status'];
if ( $status == 1 ){
$ok = 0;
$warning = 0;
$erro = 0;
$ok = $ok + 1 ;
} else if ( $status == 2 ) {
$ok = 0;
$warning = 0;
$erro = 0;
$warning = $warning + 1;
} else if ( $status == 3 ) {
$ok = 0;
$warning = 0;
$erro = 0;
$erro = $erro + 1;
}
echo "{ day: '".$result['data']."', a: ".$ok.", b: ".$warning.", c: ".$erro." },";
}Discussão (2)
Carregando comentários...