Graph aus mysql mit Daten der letzten zwei Monate

Simontk

Neuer Benutzer
Beiträge
1
Hallo zusammen,
ich habe eine Frage bezüglich eines Graphen aus der MySQL Datenbank. Ich beschäftige mich erst seit neuestem mit php allgemein daher hoffe ich ihr könnt mir auf die Sprünge helfen. Ich möchte das nicht alle Daten (rows) verwendet werden sondern nur die aus den letzten zwei Monaten oder falls einfacher die neuesten 40.
Am liebsten wäre es mir wenn er auch nur diese Daten in den array und die JSON table liest. Wahlweise wäre es aber auch okay wenn google graph nur die neuesten Werte nimmt.

Vielen Dank für eure Hilfe.

Code:
<?php
$con=mysql_connect("xxx","xxx","xxx") or die("Failed to connect with database!!!!");
mysql_select_db("xxx", $con);


$sth = mysql_query("SELECT * FROM inventur_ergebnisse_tempkomp");


$rows = array();
//flag is not needed
$flag = true;
$table = array();
$table['cols'] = array(
array('label' => 'Datum', 'type' => 'string'),
  array('label' => 'Menge Helium gesamt', 'type' => 'number')
   );
   
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
  $temp = array();
  
  $temp[] = array('v' => (string) $r['datum']);


  $temp[] = array('v' => (int) $r['menge_gesamt']);
  $rows[] = array('c' => $temp);
}
$table['rows'] = $rows;
$jsonTable = json_encode($table);
//echo $jsonTable;
?>



<html>
  <head>
  <!--Load the Ajax API-->
  <script type="text/javascript" src="https://www.google.com/jsapi"></script>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
  <script type="text/javascript">

 
  google.load('visualization', '1', {'packages':['corechart', 'line']});

  // Set a callback to run when the Google Visualization API is loaded.
  google.setOnLoadCallback(drawChart);

  function drawChart() {

  // Create our data table out of JSON data loaded from server.
  var data = new google.visualization.DataTable(<?=$jsonTable?>);
  var options = {
  title: 'Inventur Ergebnisse',
  is3D: 'true',
  width: 1400,
  height: 900,
   hAxis: {
  title: 'Datum'
  },
  vAxis: {
  title: 'Volumen [l]',
  }
  };
  // Instantiate and draw our chart, passing in some options.
  // Do not forget to check your div ID
  var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
  chart.draw(data, options);
  }
  </script>
  </head>

  <body>
  <!--this is the div that will hold the pie chart-->
  <div id="chart_div"></div>
  </body>
</html>
 
Werbung:
Das PHP-Zeugs ist hier vollständig fehl am Platz. Ohne Deine Tabelle zu kennen können wir auch kein passendes SQL Dir zeigen.

Übrigens: wenn Du das als JSON brauchst, solltest Du einen Blick auf PostgreSQL werfen: das kann Ergebnisse direkt als JSON rausblasen.
 
Werbung:
Die aus den letzten x Monaten bekommst du mit einem WHERE datum > now()-x und die letzten 40 mit ORDER BY und LIMIT. Für genaueres müsste man die Tabelle inventur_ergebnisse_tempkomp kennen.
 
Zurück
Oben