1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Graph aus mysql mit Daten der letzten zwei Monate

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Simontk, 15 August 2016.

  1. Simontk

    Simontk Neuer Benutzer

    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>
    
    
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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.
     
  3. ukulele

    ukulele Datenbank-Guru

    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.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden