Datenarray von html zu php übergeben

  • 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. ?>
  • Hallo nochmal


    Ich hab es jetzt nach fast zwei Montaten endlich hingekriegt, danke trotzdem an alle die es interessiert hat!


    Das Problem war, dass ich $.getJSON("P_INNEN_data.php", function(data) und nicht $.getJSON("P_INNEN_data.php?x=P_INNEN", function(data)