Código Fonte:



<html>
<head>
<title>PHP - MySQL</title>
</head>
<body>
<h1>Exercício: Utilizar o Google Chart</h1>
<?php

include '/home/rml/acessoMysql/mysql_connect.php';


if (!
mysqli_select_db$conn,"smpw")) {
    die(
"Falhou o acesso à base de dados. Erro: " mysqli_error($conn));
}


$sql "SELECT * FROM lixo";

$result mysqli_query($conn$sql);
$dados ="";
while(
$row mysqli_fetch_array($result))

  {
    
$dados $dados "[".$row{'id'}.",".$row{'valor'}."],";

  }

//echo $dados;



?> 
<!--- Bloco para alojar o gráfico --->
<div id="grafico" style="max-width: 500px; height: 300px;"></div>

<!--- Referenciar a API dos gráficos da Google --->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>

<!--- Função usando JavaScript --->
<script type="text/javascript">
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawChart);
    
    <!--- Função para desenhar o gráfico --->
    function drawChart() {
        var data = google.visualization.arrayToDataTable([
        ['Id', 'Temperatura'],
        <?php echo $dados ?>
    ]);
<!--- Informações opcionais do gráfico: Título e dimensões --->
        var options = {
            title: 'Sensor Temperatura',
            curveType: 'function',
            vAxis: {title: 'Temp (ºC)'},
            legend:  { position: 'bottom' }
        };
        
<!--- Função que coloca o gráfico dentro da DIV correcta --->
        var chart = new google.visualization.LineChart(document.getElementById('grafico'));
        chart.draw(data, options);
    }
</script>

<h2>Nota: O gráfico anterior não faz sentido, mas estes sim:</h2>

<?php
$sql 
"SELECT * FROM lixo Where sensor='exterior'";

$result mysqli_query($conn$sql);
$dados ="";
while(
$row mysqli_fetch_array($result))
  {
    
$dados $dados "[".$row{'id'}.",".$row{'valor'}."],";

  }


?>
<!--- Bloco para alojar o gráfico --->
<div id="exterior" style="max-width: 500px; height: 300px; float: left;"></div>

<!--- Referenciar a API dos gráficos da Google --->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>

<!--- Função usando JavaScript --->
<script type="text/javascript">
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawChart);
    
    <!--- Função para desenhar o gráfico --->
    function drawChart() {
        var data = google.visualization.arrayToDataTable([
        ['Id', 'Temperatura'],
        <?php echo $dados ?>
    ]);
<!--- Informações opcionais do gráfico: Título e dimensões --->
        var options = {
            title: 'Sensor Temperatura Exterior',
            curveType: 'function',
            vAxis: {title: 'Temp (ºC)'},
            legend:  { position: 'bottom' }
        };
        
<!--- Função que coloca o gráfico dentro da DIV correcta --->
        var chart = new google.visualization.LineChart(document.getElementById('exterior'));
        chart.draw(data, options);
    }
</script>


<?php
$sql 
"SELECT * FROM lixo Where sensor='interior'";

$result mysqli_query($conn$sql);
$dados ="";
while(
$row mysqli_fetch_array($result))
  {
    
$dados $dados "[".$row{'id'}.",".$row{'valor'}."],";

  }

mysqli_free_result($conn); //libertar os resultados da memória

mysqli_close($conn);  
?>
<!--- Bloco para alojar o gráfico --->
<div id="interior" style="margin-left: 320px; max-width: 500px; height: 300px;"></div>

<!--- Referenciar a API dos gráficos da Google --->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>

<!--- Função usando JavaScript --->
<script type="text/javascript">
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawChart);
    
    <!--- Função para desenhar o gráfico --->
    function drawChart() {
        var data = google.visualization.arrayToDataTable([
        ['Id', 'Temperatura'],
        <?php echo $dados ?>
    ]);
<!--- Informações opcionais do gráfico: Título e dimensões --->
        var options = {
            title: 'Sensor Temperatura Interior',
            curveType: 'function',
            vAxis: {title: 'Temp (ºC)'},
            legend:  { position: 'bottom' }
        };
        
<!--- Função que coloca o gráfico dentro da DIV correcta --->
        var chart = new google.visualization.LineChart(document.getElementById('interior'));
        chart.draw(data, options);
    }
</script>

</body>
</html>