Krish Patel Krish Patel - 2 months ago 12
MySQL Question

how to create a chart in angularjs with database data?

I am trying to creating a Bar chart.I'm using this bar chart as a reference Here.
this is my HTML part..

<body ng-app="app">
<div ng-controller="BarCtrl">
<canvas id="bar" class="chart chart-bar" width=100% height=25
chart-data="data" chart-labels="labels" chart-series="series"></canvas>
</div>


And this is my angularjs part...

<script>
angular.module("app",["chart.js"]).controller("BarCtrl", function ($http,$scope) {
$http.get("../widget/stock_details.php").success(function(data){
$scope.data=data;
//$scope.tqnt=data.tqnt;
//$scope.old_quantity=data.old_quantity;

$scope.labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul','Aug','Sep'];
$scope.series = ['Series A', 'Series B'];


$scope.data = [65, 59, 80, 81, 56, 55, 40],
[28, 48, 40, 19, 86, 27, 90];
});
});




If I want my database data in $scope.data and $scope.labels then what should I do?I'd try this
$scope.data = [ [data[0],data[2],data[4],data[6]] , [data[1],data[3],data[5]] ];
but this is not a good way so what it could be?

php file is..

<?php
include('connection.php');
$er=new Connect();
$er->__construct();

$data=array();

$selct=mysql_query("SELECT * FROM stock");

while($row=mysql_fetch_array($selct))
{
$data[]=$row['total_qnt'];
$data[]=$row['old_quantity'];
$data[]=$row['stock_date];
}

echo json_encode($data);
?>

Answer

What you need to do is:-

change while part like below:-

$data[0][]=$row['total_qnt']; $data[1][]=$row['old_quantity'];

then parse this json encoded data to array into your javascript code and pass to $scope.data.

Comments