2016-08-12 6 views
0

Ich habe zwei PHP-Dateien data.php und gaschart.php, data.php Daten aus sql ziehen und gaschart.php zeichnet die High-Chart. Ich möchte dies in Echtzeit machen, was bedeutet, dass der Graph jede Sekunde aktualisiert wird. Die Datenbank wird auch jede Sekunde aktualisiert. Bitte helfen Sie mir mit diesem Code. Kann mir bitte jemand zeigen, wie man es für meinen Code hier macht .. ??Echtzeit-Update High-Charts von SQL-Datenbank

Dies ist der data.php

<?php 
     $con = mysql_connect("localhost","shsas",""); 

    if (!$con) { 
     die('Could not connect: ' . mysql_error()); 
       } 

    mysql_select_db("shsas", $con); 

    $sth = mysql_query("SELECT Gaslevel FROM gas"); 
    $rows = array(); 
    $rows['name'] = 'Gaslevel'; 
    while($r = mysql_fetch_array($sth)) { 
    $rows['data'][] = $r['Gaslevel']; 
    } 

    $result = array(); 
    array_push($result,$rows); 

    print json_encode($result, JSON_NUMERIC_CHECK); 

    mysql_close($con); 
    ?> 

Dies ist die gaschart.php ist

 <script type="text/javascript"> 
    $(function() { 
    var chart; 
    $(document).ready(function() { 
    $.getJSON("data.php", function(json) { 

     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'container', 
       type: 'line', 
       marginRight: 130, 
       marginBottom: 25, 
      }, 
      title: { 
       text: 'Gas Level Detection', 
       x: -20 //center 
      }, 
      subtitle: { 
       text: '', 
       x: -20 
      }, 
      xAxis: { 
       title: { 
        text: 'EventID' 
       }, 

      }, 
      yAxis: { 
       title: { 
        text: 'Level of gas' 
       }, 

      }, 
      tooltip: { 
       formatter: function() { 
         return '<b>'+ this.series.name +'</b><br/>'+ 
         this.x +': '+ this.y; 
       } 
      }, 
      legend: { 
       layout: 'vertical', 
       align: 'right', 
       verticalAlign: 'top', 
       x: -10, 
       y: 100, 
       borderWidth: 0 
      }, 
      series: json 
       }); 
      }); 

     }); 

     }); 
    </script> 
+1

Aktualisieren der Datenbank jede Sekunde ?? Möchten Sie Diagramme mit herkömmlichen HTTP-Anfragen aktualisieren? Hört sich für mich schrecklich an. –

+0

Dies ist ein Projekt, es ist ein Sensor liest es Werte jede Sekunde und speichern Sie es in einer Datenbank tatsächlich Zeitraum kann unterschiedlich sein kann 5 Sekunden oder so, so dass das Diagramm muss auch entsprechend bevölkern. –

+0

Verwenden Sie Sockets oder Streams. Sie wollen ein Diagramm, das ähnlich wie Sensex ist, das ständig aktualisiert wird. Ich würde vorschlagen, bitte verwenden Sie keine traditionellen HTTP-Anfragen. –

Antwort

0

Ich würde dringend empfehlen die Verwendung Sockets zu versuchen.

Sie können überprüfen, socket.io. Obwohl es zum Chatten entwickelt wurde. Ich bin sicher, Sie können es für Ihren Anwendungsfall verwenden.

Überprüfen Sie auch elephant.io. Es ist generischer. Eine leichte und einfach zu bedienende Bibliothek, die darauf abzielt, einige Echtzeitfunktionen bereitzustellen. Sie können dies auch für Ihr Projekt ausprobieren. Intern verwendet es socket.io

+0

Danke Typ .. Ich werde es überprüfen –

+0

können Sie mir bitte mit meinem Code zeigen, wie man es durchführt. es funktioniert nicht für mich. –