0
I have the following query inside a javascript that generates a graphic:
<script>
$(".sparkline_one").sparkline([<?php
$sql="select
count(id) as total,
DAY(dia_criacao) AS DAY,
MONTH(dia_criacao) AS MONTH,
YEAR(dia_criacao) AS YEAR
from chamados where dia_criacao BETWEEN DATE_SUB(NOW(), INTERVAL 2 WEEK) AND NOW() AND id_empresa='".$_SESSION['clientelogado']['id_empresa']."' GROUP BY YEAR(dia_criacao), MONTH(dia_criacao), DAY(dia_criacao) order by dia_criacao asc";
$query=mysqli_query($con,$sql);
$n=0;
while($result=mysqli_fetch_array($query,MYSQL_ASSOC)){
$chamados[]=$result['total'];
$dias[]="$n: '$result[DAY]/$result[MONTH]/$result[YEAR]'";
$n++;
}
$chamados=implode(",", $chamados);
echo $chamados;
?>], {
type: 'bar',
height: '125',
barWidth: 13,
tooltipFormat: 'Dia {{offset:offset}}<br>{{value}} chamado(s)',
tooltipValueLookups: {
'offset': {
<?php
$dias=implode(",", $dias);
echo $dias;
?>
}
},
colorMap: {
'7': '#a1a1a1'
},
barSpacing: 2,
barColor: '#26B99A'
});
</script>
It works well but has only one problem: If there is a day that there were no open calls it does not display the day because there are no results in my db. I wonder if it is possible for mysql to return the days when there are no calls in the query order and with value 0 ? or if there is no best way to do it ? ( I will have to make a loop to query each day separately ?)
Does the query return the days you have not called? If you return the date but the number of calls is
NULL ou 0, you could be using the function in mysqlifnull. The following is an example link: http://www.mysqltutorial.org/mysql-ifnull/– Max Rogério
no, only returns the days with call
– Jasar Orion