首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular-chart js和连接到MySQL后端

Angular-chart js和连接到MySQL后端
EN

Stack Overflow用户
提问于 2015-09-11 06:11:26
回答 2查看 1.8K关注 0票数 0

首先,提前感谢您的帮助。我已经努力了几天,试图弄清楚如何将一个角度图对象连接到mysql数据库中。我目前有处理静态数据的图表。我在我的项目中有一个通用的php文件,看起来像这样:

代码语言:javascript
复制
// Create the connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check the connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";

//the sql to run
$sql = "SELECT * FROM Test2";
//run it
$result = $conn->query($sql);

//check for results
if ($result->num_rows > 0) {
//create an array
$dataarray[] = array();

//loop em
while($row =mysqli_fetch_assoc($result)) {
    $dataarray[] = $row;
}
//make em json
echo json_encode($dataarray);
}
//} else {
//    echo "0 results";
//}

//close out our connection
$conn->close();
?> 

这可以很好地工作。此表返回几行,其中包含标题名称和值。目前除了测试数据什么都没有。

在我的html/javascript中,我有以下内容:

代码语言:javascript
复制
<script>
        angular.module("ChartApp", ["chart.js"]).controller("PieCtrl", function ($scope, $http) {
          $http.get('./GetTestData.php').
            success(function(data) {
                $scope.records = data;

            });

          $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
          $scope.data = [300, 500, 100];
        });
    </script>

我真的不确定下一步该怎么做。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2015-09-11 08:23:56

花了很长时间,但我最终还是弄明白了。我必须获取JSON对象并将值转换为单独的数组。相关代码如下:

代码语言:javascript
复制
angular.module("ChartApp", ["chart.js"]).controller("PieCtrl", function ($scope, $http) {
 $http.get('./GetTestData.php').
success(function(data) {
    var names = [];

    for(var i = 0; i < data.length; i++) {
        var obj = data[i];

        if(obj.Name != undefined) {
            names.push(obj.Name);
        }
    }

    var values = [];
    for(var i = 0; i < data.length; i++) {
        var obj = data[i];

        if(obj.Name != undefined) {
            values.push(obj.Value);
        }
    }
    //$scope.records = data;
    $scope.labels = names;
    $scope.data = values;
    });

        });
    </script>
票数 0
EN

Stack Overflow用户

发布于 2015-11-05 11:13:04

我在该代码中得到以下错误:

未捕获TypeError:无法读取未定义的属性“”draw“”

因此,我必须在$scope.data中插入[]才能使其正常工作。

代码语言:javascript
复制
$scope.labels = names;
$scope.data = [values];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32512461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档