Home › Forums › Chart Support › Issues retrievng data from MySql › Reply To: Issues retrievng data from MySql
Andres,
Here is a modified version of our previous example where we generate JSON data using echo statements.
Below is the sample code
1. PHP Service to return JSON Data using echo statements:
<?php $conn = new mysqli("127.0.0.1","user","password", "chartDb"); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } else { $data_points = array(); $result = mysqli_query($conn, "SELECT * FROM pie_chart"); while($row = mysqli_fetch_array($result)) { $point = array("label" => $row['Support'] , "y" => $row['yValues']); array_push($data_points, $point); } //echo json_encode($data_points, JSON_NUMERIC_CHECK); // JSON data using echo statements $length = sizeof($data_points); echo "["; for ( $i = 0; $i <= $length-1; $i++) { echo "{ \"label\": \"" , $data_points[$i]['label'],"\", \"y\": " , $data_points[$i]['y'], "}"; if( $i < $length-1) echo ","; } echo "]"; } ?>
2. HTML Page to Fetch Data and render Chart
<html> <head> <script src="jquery-1.11.1.min.js"></script> <script src="canvasjs.min.js"></script> <script type="text/javascript"> $(document).ready(function () { var dataPoints = []; $.getJSON("data.php", function (result) { var chart = new CanvasJS.Chart("chartContainer", { data: [ { type: "pie", dataPoints: result } ] }); chart.render(); }); }); </script> </head> <body> <div id="chartContainer" style="width:500px; height: 300px"></div> </body> </html>
__ Anjali