3

我希望显示mysql database使用的数据,angularJS但都是徒劳的。请查看我的代码并建议我哪里出错了?

  <?php
    $host = "localhost"; 
    $user = ""; 
    $pass = ""; 
    $database = "abc";
    $con = mysql_connect($host,$user,$pass);
    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }
    echo 'Connected successfully'; 
    mysql_select_db($database,$con);  
     //select
    $query = "SELECT * FROM `product`"; 
    $result = mysql_query($query) OR die(mysql_error()); 
    $arr = array();
    //now we turn the results into an array and loop through them. 
    while ($row = mysql_fetch_array($result)) { 
        $name = $row['name']; 
        $description = $row['description']; 
        //echo 'This is: ' . $name . ' ' . $description . "<br/>\n"
        $arr[] = $row;
    } 
    echo json_encode($arr);
?>

控制器.js

 function ProductListCtrl($scope,$http) {
    $http.get('php/connect.php').success(function(data) {
        $scope.products = data;
    });
    //$scope.orderProp = 'name';

}

索引.html

    <html ng-app>
    <head>
        <script src="../angular-1.0.1.min.js"></script>
        <script src="js/controllers.js"></script>
    </head>
    <body>
    <ul ng:controller="ProductListCtrl">
        <li ng:repeat="product in products">
            {{product.name}}
        </li>
    </ul>
    </body>
</html>

当我运行时index.html,我得到无限的子弹列表,没有显示结果。

我哪里错了?

4

1 回答 1

1

我同意 Alexander 的观点,如果您可以从浏览器控制台获取 JSON 数据会有所帮助。

我想你想在你的 php 代码中做这样的事情来只获取名称和描述 $arr[] = array('name' => $name, 'description' => $description);而不是$arr[] = $row;

您可能会以 html 的形式从您的 php 代码中返回一个错误,而 $http 正在将其分开,就好像它是一个数组一样。

希望这可以帮助

- 担

于 2012-08-22T19:43:08.283 回答