Beiträge von DR.Alfred

    Hallo zusammen

    Ich habe folgendes Problem:

    Ich messe die Spannung eines Akkus und schreibe diese in eine mySQL-Datenbank mithilfe eines php-Skriptes.

    Nun möchte ich den aktuellsten Wert der Datenbank auslesen

    und anschliessend auf meiner HTML-Website darstellen lassen als einfache Zahl (z.B. 3.4V).

    Ich weiss jedoch nicht wie ich den aktuellsten Wert auslesen kann und diesen darstellen kann.


    Hier ist mein Code, der die Messwerte aus der Datenbank holt und als "Tabelle" mit TimeStamp und Messwert ausgibt.

    Diese Tabelle wird dann mithilfe von json.encode an das HTML-file übergeben wo ich die Werte zusätzlich brauche und eben auch diesen einen "Live-Wert".

    Ich hoffe ich konnte euch mein Problem verständlich gliedern

    und würde mich freuen, wenn ihr euch kurz Zeit nehmt.;)

    Vielen Dank und Grüsse

    DR.Alfred

    Danke vielmals, ich habe es jetzt folgendermassen gelöst:

    Code
    var sensorID = "H_INNEN";
    
        $.getJSON("data.php?sensorID=" + sensorID, function(data) {

    Vielen Dank für deine schnelle Antwort. Ich wäre bereit dich zu heiraten.

    Weiß nicht genau ob ich das richtig verstehe: Du hast zwei Aufrufe von $.getJSON, wobei der erste im Callback u. a. die Sensor-ID liefert? Diese willst Du dann beim anderen Aufruf des $.getJSON als URL-Parameter verwenden? Dann würde es etwa so funktionieren:

    Code
    $.getJSON(url1, function(data) {
        var sensorID = //hier die ID zuweisen
        $.getJSON("Sensor_data.php?sensorID=" + sensorID, function(data) {...}

    Hallo Sempervivum

    Erstmal Danke für deine schnelle Antwort! Und ja, du hast mein Problem richtig interpretiert.

    Verstehe ich dich richtig, dass der Code in Zeile 1 von dir quasi ein Muster ist und Zeile 2&3 quasi das der Command auf mein Problem bezogen?

    Ich habe die Zeilen 2&3 in mein Programm eingefügt, jedoch scheint es ein Fehler zu geben.

    Hier der Ausschnitt aus meinem Programm

    Hallo zusammen

    Ich habe ein File welches ein Befehl "$.getJSON("Sensor_data.php?sensorID=Volt", function(data) {...}" enthält.

    Damit übergebe ich die Variale sensorID, welche ich im gleichen Skript im php-Teil definiert habe.

    Damit funktioniert die Übergabe einwandfrei.

    Meine Frage ist es nun aber, ob ich im $.getJSON(), welcher im html-Teil meines Files steht, den String "sensorID" direkt definieren kann,

    und anschliessend wie im obigen Beispiel die sensorID übergeben kann.

    Ich würde mich sehr über eine seriöse Antwort freuen!;)

    Vielen Dank für eure Bemühungen:)

    Hallo zusammen

    Ich bin seit längerem an einem Projekt mit Highcharts. Ich messe mit einem Sensor den Luftdruck, schreibe diesen anschliessend in eine Datenbank und stelle schliesslich alle Messwerte in einem Diagramm von Highcharts dar. Dazu habe ich zwei php-Files. Das eine File (P_INNEN_data.php) stellt eine Art Tabelle mit den Messwerten dar, welche dann an das andere File geschickt wird. Dieses zweite File (P_INNEN.php) ist zuständig für die Darstellung des Diagramms.

    Dies funktioniert soweit.

    Nun will ich aber die SensorID vom Sensor im P_INNEN.php festlegen und beim zweiten File als Variable einfügen. Dann soll das P_INNEN_data.php-File die Tabelle darstellen und diese an P_INNEN.php zurücksenden. Diese Übergabe der Tabelle funktioniert jedoch nicht reibungslos.

    Ich bin dort hängen geblieben und bitte jetzt die Profis unter euch um Hilfe, oder alle, die sich damit auskennen;)!

    Vielen Dank im Voraus!:)


    Hier die zwei Files. Ich habe versucht, das wesentliche mit Kommentaren auszuschmücken.

    Falls ihr weitere Unterlagen benötigt, dann lasst es mich wissen!

    P_INNEN.php:

    PHP

    1. <?php
    2. $x = 'P_INNEN'; //Hier wird die SensorID definiert
    3. echo "<a href='P_INNEN_data.php?x=$x'>Hier klicken</a>"; //Übergabe der SensorID an das andere File
    4. ?>
    5. <!DOCTYPE HTML>
    6. <html>
    7. <head>
    8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    9. <title>AZ Elektronik, Berlin</title>
    10. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    11. <script type="text/javascript">
    12. $(function() {
    13. $.getJSON("P_INNEN_data.php", function(data) { //Aufrufen der dargestellten Tabelle vom anderen File
    14. //(Alles innerhalb des $.getJSON{} wurde getestet und muss nicht beachtet werden.
    15. // Create a timer
    16. var start = + new Date();
    17. // Create the chart
    18. $('#container').highcharts('StockChart', {
    19. chart: {
    20. events: {
    21. load: function(chart) {
    22. this.setTitle(null, {
    23. text: 'Built chart at '+ (new Date() - start) +'ms'
    24. });
    25. }
    26. },
    27. zoomType: 'x'
    28. },
    29. rangeSelector: {
    30. buttons: [{
    31. type: 'day',
    32. count: 1,
    33. text: '24h'
    34. }, {
    35. type: 'week',
    36. count: 1,
    37. text: '1w'
    38. }, {
    39. type: 'month',
    40. count: 1,
    41. text: '1m'
    42. }, {
    43. type: 'month',
    44. count: 6,
    45. text: '6m'
    46. }, {
    47. type: 'year',
    48. count: 1,
    49. text: '1y'
    50. }, {
    51. type: 'all',
    52. text: 'All'
    53. }],
    54. selected: 1
    55. },
    56. xAxis: {
    57. ordinal: false
    58. },
    59. yAxis: {
    60. title: {
    61. text: 'Luftdruck Innen'
    62. }
    63. },
    64. title: {
    65. text: 'Luftdruck Innen'
    66. },
    67. subtitle: {
    68. text: 'Built chart at...' // dummy text to reserve space for dynamic subtitle
    69. },
    70. series: [{
    71. name: 'mB',
    72. type: 'line',
    73. data: data,
    74. tooltip: {
    75. valueDecimals: 1,
    76. valueSuffix: ' mB'
    77. },
    78. fillColor : {
    79. linearGradient : {
    80. x1: 0,
    81. y1: 0,
    82. x2: 0,
    83. y2: 1
    84. },
    85. stops : [[0, Highcharts.getOptions().colors[0]], [1, 'rgba(0,0,0,0)']]
    86. },
    87. }]
    88. });
    89. });
    90. });
    91. </script>
    92. </head>
    93. <body>
    94. <script src="/Highstock/code/highstock.js"></script>
    95. <script src="/Highstock/code/modules/exporting.js"></script>
    96. <div id="container" style="height: 500px; min-width: 500px"></div>
    97. </body>
    98. </html>


    P_INNEN_data.php:

    PHP

    1. <?php
    2. $x=$_GET["x"];
    3. date_default_timezone_set('Europe/Berlin');
    4. $con = mysql_connect("IP-Adresse der Datenbank","Benutzername","Passwort");
    5. if (!$con) {
    6. die('Could not connect: ' . mysql_error());
    7. }
    8. mysql_select_db('MyHome', $con);
    9. $result = mysql_query("SELECT * FROM `Messwerte` WHERE SensorID = '$x' ");
    10. while($row = mysql_fetch_array($result)) {
    11. $datum = $row['DateTime'];
    12. $value = round($row['Messwert'],2);
    13. $uts = strtotime ($datum);
    14. if (date('I', time()))
    15. {
    16. $uts = $uts + 7200;
    17. $x=1;
    18. }
    19. else
    20. {
    21. $uts=$uts+3600;
    22. if($x==1)
    23. {
    24. $uts=$uts-7200;
    25. $x=0;
    26. }
    27. }
    28. $datum=date('l, F j y H:i:s',$uts);
    29. $uts *= 1000; // convert from Unix timestamp to JavaScript time
    30. $data[] = array((float)$uts,(float) $value);
    31. }
    32. echo json_encode($data); //Hier wird die Tabelle an das P_INNEN.php-File zur Darstellung des Diagramms übergeben.
    33. mysql_close($con);
    34. ?>