Olá a todos, ESTOU COM UM PROBLEMÃO e preciso muito da ajuda de vocês!! Faz duas semanas que estou pesquisando como fazer um gráfico e integra-lo ao meu banco de dados. Tentei de várias e várias formas porém não consegui. Preciso gerar um gráfico com a quantidade de viagens realizada por dia para os determinados locais "puma", "MA" e "diversos". Gostaria de utilizar o between também para definir o período da pesquisa.
Não tenho ideia de onde colocar as variáveis, ou se minha busca sql esta correta ME DA UM HELP, ficarei super grato
<form method="post" action="">
<label>Data incial:</label>
<input id="dataInicial" name="dataInicial" type="date" required="" >
<label>Data final:</label>
<input id="dataFinal" name="dataFinal" type="date" required="" >
<button id="enviar" name="enviar" class="btn btn-primary">Enviar </button>
</form>
<?php
$servidor = "localhost";
$usuario = "root";
$senha = "";
$dbname = "controlebaldeio";
//Criar a conexao
$conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
if(!$conn){
die("Falha na conexao: " . mysqli_connect_error());
}else{
//echo "Conexao realizada com sucesso";
}
$dataInicial = $_POST['dataInicial'];
$dataFinal = $_POST['dataFinal'];
$result_usuario = "SELECT local, sum(quantidade) as quantidade FROM registro WHERE dataViagem BETWEEN '$dataInicial' AND '$dataFinal' GROUP BY local";
$resultado_usuario = mysqli_query($conn, $result_usuario);
while($row_usuarios = mysqli_fetch_assoc($resultado_usuario)){
$local = $row_usuarios['local'];
$quantidade = $row_usuarios['quantidade'];
$dataViagem = $row_usuarios['dataViagem'].;
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sem título</title>
</head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['line']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Dia');
data.addColumn('number', 'PUMA');
data.addColumn('number', 'MA');
data.addColumn('number', 'DIVERSOS');
data.addRows([
[1, 37.8, 8, 41.8],
[2, 30.9, 69.5, 32.4],
[3, 25.4, 57, 25.7],
[4, 11.7, 18.8, 10.5],
[5, 11.9, 17.6, 10.4],
[6, 8.8, 13.6, 7.7],
[7, 7.6, 12.3, 9.6],
[8, 12.3, 29.2, 10.6],
[9, 16.9, 42.9, 14.8],
[10, 12.8, 30.9, 11.6],
[11, 5.3, 7.9, 4.7],
[12, 6.6, 8.4, 5.2],
[13, 4.8, 6.3, 3.6],
[14, 4.2, 6.2, 3.4]
]);
var options = {
chart: {
title: 'RELATÓRIO DE VIAGENS',
},
width: 900,
height: 500,
axes: {
x: {
0: {side: 'top'}
}
}
};
var chart = new google.charts.Line(document.getElementById('line_top_x'));
chart.draw(data, google.charts.Line.convertOptions(options));
}
</script>
<body>
<div id="line_top_x"></div>
</body>
</html>
Tenho esse array:
array (size=3)
'Bruno' =>
array (size=4)
'Matematica' => int 41
'Fisica' => int 46
'Portugues' => int 34
'Algebra linear' => int 71
'Ana Paula' =>
array (size=4)
'Matematica' => int 70
'Fisica' => int 90
'Portugues' => int 88
'Algebra linear' => int 100
'Carol' =>
array (size=4)
'Matematica' => int 95
'Fisica' => int 90
'Portugues' => int 76
'Algebra linear' => int 99
E preciso acessa lo de forma ordenada para alimentar esse gráfico.
var data = google.visualization.arrayToDataTable([
['NomeMatérias', 'NomeAluno1', 'NomeAluno2', 'NomeAluno3', '...' ],
['Matéria1', nota1, nota1, nota1, ... ],
['Matéria2', nota2, nota2, nota2, ... ],
['Matéria3', nota3, nota3, nota3, ... ],
['Matéria4', nota4, nota4, nota4, ... ]
]);
Minha dúvida é como acessar o Vetor/array e alimentar o código acima para a construção do gráfico fornecido pelo Google.
Gráfico funcionando no Google.
https://google-developers.appspot.com/chart/interactive/docs/gallery/combochart