Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Google gauge
Forum - PHP - Google gauge

Avatar
StefanoV (Normal User)
Newbie


Messaggi: 2
Iscritto: 27/11/2020

Segnala al moderatore
Postato alle 8:26
Venerdì, 27/11/2020
Ciao e' la prima volta che mi interfaccio con il php e sto trovando difficoltà  con questo pezzo di codice. In pratica ricevo da remoto ogni tre secondi 3 variabili e quello che vorrei ottenere e' di visualizzarle tramite google gauge. Non capisco dove sbaglio ma mi visualizza sempre 0 in tutti e tre i gauge.

Codice sorgente - presumibilmente Php

  1. <?php
  2.     $IntTemp=$_POST["IntTemp"];
  3.     $ExtTemp1=$_POST["ExtTemp1"];
  4.     $ExtTemp2=$_POST["ExtTemp2"];
  5.  
  6.     $Write="<p>Internal Temperature: "          . $IntTemp  . " Celsius </p>".
  7.            "<p>External Temperature Sensor 1: " . $ExtTemp1 . " Celsius </p>".
  8.            "<p>External Temperature Sensor 2: " . $ExtTemp2 . " Celsius </p>";
  9.     file_put_contents('sensor.html',$Write);  
  10.  ?>
  11.  
  12. <!DOCTYPE HTML>
  13. <html>
  14.   <head>
  15.    
  16.    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  17.    <script type="text/javascript">
  18.       google.charts.load('current', {'packages':['gauge']});
  19.       google.charts.setOnLoadCallback(drawChart);
  20.  
  21.       function drawChart() {
  22.         var data = google.visualization.arrayToDataTable([
  23.           ['Label', 'Value'],
  24.           ['IntTemp', <?php echo (float)$IntTemp; ?>],
  25.           ['ExtTemp1', <?php echo (float)$ExtTemp1; ?>],
  26.           ['ExtTemp2', <?php echo (float)$ExtTemp2; ?>]
  27.         ]);
  28.  
  29.         var options = {
  30.           width: 400, height: 120,
  31.           redFrom: 90, redTo: 100,
  32.           yellowFrom:75, yellowTo: 90,
  33.           minorTicks: 5
  34.         };
  35.  
  36.         var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
  37.  
  38.         chart.draw(data, options);
  39.  
  40.        
  41.       }
  42.     </script>
  43.   </head>
  44.   <body>
  45.     <div id="chart_div" style="width: 400px; height: 120px;"></div>
  46.   </body>
  47. </html>


Ultima modifica effettuata da StefanoV il 27/11/2020 alle 8:27
PM Quote
Avatar
alex1995 (Normal User)
Expert


Messaggi: 294
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 19:20
Sabato, 16/07/2022
ho copiato il tuo codice e l' ho provato e funziona, sicuramente è un problema della richiesta post che non arriva.
prova a aggiungere print_r della variabile post.

Codice sorgente - presumibilmente Plain Text

  1. <?php
  2.  
  3.     print_r($_POST);
  4.         $IntTemp=$_POST["IntTemp"];
  5.         $ExtTemp1=$_POST["ExtTemp1"];
  6.         $ExtTemp2=$_POST["ExtTemp2"];
  7.      
  8.         $Write="<p>Internal Temperature: "          . $IntTemp  . " Celsius </p>".
  9.                "<p>External Temperature Sensor 1: " . $ExtTemp1 . " Celsius </p>".
  10.                "<p>External Temperature Sensor 2: " . $ExtTemp2 . " Celsius </p>";
  11.         file_put_contents('sensor.html',$Write);  
  12.      ?>
  13.      
  14.     <!DOCTYPE HTML>
  15.     <html>
  16.       <head>
  17.        
  18.        <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  19.        <script type="text/javascript">
  20.           google.charts.load('current', {'packages':['gauge']});
  21.           google.charts.setOnLoadCallback(drawChart);
  22.      
  23.           function drawChart() {
  24.             var data = google.visualization.arrayToDataTable([
  25.               ['Label', 'Value'],
  26.               ['IntTemp', <?php echo (float)$IntTemp; ?>],
  27.               ['ExtTemp1', <?php echo (float)$ExtTemp1; ?>],
  28.               ['ExtTemp2', <?php echo (float)$ExtTemp2; ?>]
  29.             ]);
  30.      
  31.             var options = {
  32.               width: 400, height: 120,
  33.               redFrom: 90, redTo: 100,
  34.               yellowFrom:75, yellowTo: 90,
  35.               minorTicks: 5
  36.             };
  37.      
  38.             var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
  39.      
  40.             chart.draw(data, options);
  41.      
  42.            
  43.           }
  44.         </script>
  45.       </head>
  46.       <body>
  47.         <div id="chart_div" style="width: 400px; height: 120px;"></div>
  48.       </body>
  49.     </html>


PM Quote