MYSQL + Morris chart
Olá, moçada!
Tenho esse gráfico aqui: http://riocir.com.br/renan/chart_barg_g2.php
Mas ele exibe só os dias da semana do mês 1. Queria que ele exibisse todos os dias de todos os meses (como é o resultado do echo).
Segue o código. Alguém pode me ajudar?
>
Citar
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/morris.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="js/raphael-min.js"></script>
<script src="js/morris.min.js"></script>
</head>
<body>
<br /><br />
<div class="container" style="width:100%;font-family:Arial;">
<h3 align="center">G2 Resultado Acumulado Por Dia da Semana Nos Últimos 120 dias</h3>
<br /><br />
<?php//index.php
ini_set('display_errors',1);
ini_set('display_startup_erros',1);
//error_reporting(E_ALL);
$host = "186.202.152.171"; //Servidor do mysql
$user = "midiavip"; //Usuario do banco de dados
$password = "rd111072"; //senha do banco de dados
$db = "midiavip"; //banco de dados
$dt_menosdias = date('d/m/Y', strtotime('-120 days'));
$connect = mysqli_connect($host, $user, $password,$db) or die (mysqli_error());
$query0 = "SELECT MONTH(str_to_date(DATA, '%d/%m/%Y')) as mes FROM tabelapai
WHERE str_to_date(DATA, '%d/%m/%Y') >= str_to_date('$dt_menosdias', '%d/%m/%Y')
AND INDIC = '1'
GROUP BY MONTH(str_to_date(DATA, '%d/%m/%Y')), DIASEM
ORDER BY MONTH(str_to_date(DATA, '%d/%m/%Y'))";
$result0 = mysqli_query($connect, $query0);
$num = mysqli_num_rows($result0);
while($row0 = mysqli_fetch_array($result0))
{
$mes = $row0["mes"];
$query = "SELECT
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '1' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as dom,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '2' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as seg,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '3' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as ter,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '4' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as qua,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '5' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as qui,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '6' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as ---,
(SELECT SUM((case when LP = '-' then (LP *-1) else (LP *1) end)) FROM tabelapai WHERE DIASEM = '7' AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes' ) as sab,MONTH(str_to_date(DATA, '%d/%m/%Y')) as mes
FROM tabelapai
WHERE str_to_date(DATA, '%d/%m/%Y') >= str_to_date('23/10/2018', '%d/%m/%Y')
AND INDIC ='1'
AND MONTH(str_to_date(DATA, '%d/%m/%Y')) = '$mes'
GROUP BY DIASEM
ORDER BY MONTH(str_to_date(DATA, '%d/%m/%Y'))
LIMIT 1";
//echo $query."<br>";
$result = mysqli_query($connect, $query);
$chart_data = '';
while($row = mysqli_fetch_array($result))
{
$chart_data = "{ mes:'".$row["mes"]."', dom:".$row["dom"].", seg:".$row["seg"].", ter:".$row["ter"].", qua:".$row["qua"].", qui:".$row["qui"].", ---:".$row["---"].", sab:".$row["sab"]."}, ";
echo $chart_data;
}
}
?>
<div id="chart"></div>
<script>Morris.Bar({
element : 'chart',
data:[<?php echo $chart_data;?>],
xkey:'mes',
ykeys:['dom','seg','ter','qua','qui','---','sab'],
labels:['dom','seg','ter','qua','qui','---','sab'],
hideHover:'auto',
stacked:false
});
</script>
</div>
</body>
</html>Discussão (0)
Carregando comentários...