我是AngularJs
的新手。我正在尝试从数据库中获取结果,并使用angularjs在li
中显示。我也在使用anguarjs filter
,它运行良好。我的问题是脚本在页面加载时没有显示结果。
Php
// Create connection
$pdo=new PDO("mysql:dbname=dummy_db;host=localhost","root","");
$statement=$pdo->prepare("SELECT * FROM mytable");
$statement->execute();
$results=$statement->fetchAll(PDO::FETCH_UNIQUE);
$a = '';
foreach($results as $__){
$a .= json_encode($__).',';
}
HTML和AngularJS
<body ng-app="angapp" ng-controller="angCtrl">
<input type="text" ng-model="findname" />
<br />
<ul>
<li ng-repeat="stu in students | filter:findname">
<img src="images/12.jpg" width="200" height="200" />
<span>Name :{{stu.u_name}}</span><br />
<strong>Email :{{stu.u_mail}}</strong>
</li>
</ul>
<script>
var testApp = angular.module('angapp',[]);
testApp.controller('angCtrl',function($scope){
$scope.students=[
<?php echo $a; ?>
]
});
</script>
Json样品
$scope.students=[ {"u_name":"Adrian","0":"Adrian","u_mail":"Aenean.sed@ut.net"} ]
当我把文本放在input
字段中时,上面的脚本运行良好,结果显示正确,但在页面加载时没有显示结果。有人能告诉我哪里错了吗?我可以解决这个问题。如果有人引导我,我将不胜感激。谢谢。
您的代码运行良好(angularjs一侧),只需确保您已引用angularjs。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="angapp" ng-controller="angCtrl">
<input type="text" ng-model="findname" />
<br />
<ul>
<li ng-repeat="stu in students | filter:findname">
<img src="images/12.jpg" width="200" height="200" />
<span>Name :{{stu.u_name}}</span><br />
<strong>Email :{{stu.u_mail}}</strong>
</li>
</ul>
<script>
var testApp = angular.module('angapp',[]);
testApp.controller('angCtrl',function($scope){
$scope.students=[ {"u_name":"Adrian","0":"Adrian","u_mail":"Aenean.sed@ut.net"} ];
});
</script>
</body>