PHP JSON zu Google Charts

cardinal

Lt. Junior Grade
Registriert
Mai 2010
Beiträge
467
Mahlzeit Community,

ich versuche mich zum ersten Mal an Google Charts. Ich möchte Daten aus einer MySQL DB auf einer Website anzeigen lassen. Dazu habe ich mir folgendes Beispiel (und unzählige andere) angeschaut.

Hier mal mein Code:

test.php
PHP:
<html>
<head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">

        // Load the Visualization API and the piechart package.
        google.charts.load('current', {'packages':['corechart']});

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

        function drawChart() {
            var jsonData = $.ajax({
                url: "getData.php",
                dataType: "json",
                async: false
            }).responseText;

            // Create our data table out of JSON data loaded from server.
            var data = new google.visualization.DataTable(jsonData);

            // Instantiate and draw our chart, passing in some options.
            var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
            chart.draw(data, {width: 400, height: 240});
        }

    </script>
</head>

<body>
<!--Div that will hold the pie chart-->
<div id="chart_div"></div>
</body>
</html>


getData.php
PHP:
<?php
error_reporting(1);

try {
    $db_link = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'root', '');

    $db_link->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $db_link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {
    echo $e->getMessage();
}

$get = $db_link->prepare("SELECT DISTINCT DATE(datum_zeit) as zeit, geschwindigkeit as speed FROM testdaten");
$get->execute();

$result = $get->fetchALL(PDO::FETCH_ASSOC);
echo json_encode($result);

$get->closeCursor();

Ich bekomme bei Ausführung der "test.php" -> "Table has no columns."
Ich gehe davon aus, dass es auf das falsche Format der JSON Daten (korrigiert mich, falls ich mich irre) zurückzuführen ist. Aber wie kriege ich meine Ausgabe in das richtige Format? Gibt es eine Möglichkeit die JSON Daten automatisch richtig anpassen zu lassen?

Danke schon mal für die Hilfe!
Lui
 
Funktioniert, herzlichsten Dank :)
 
Zurück
Oben