angularjs$scope在html视图中不显示数据,但数据显示在控制台中

q35jwt9p  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(426)

我正在尝试从我的数据库读取数据到我在web浏览器中的应用程序中的视图。问题是我无法得到任何数据来显示。数据显示在控制台中,因此它连接到数据库,但不知何故它不会在视图中打印数据。
数据显示在控制台中,但不在视图中
playerdetails.php

include 'database_connections.php';

$sql = "SELECT idPlayer, PlayerName, PlayerEmail, PlayerPassword, 
PlayerTeam FROM Players";
$result = mysqli_query($conn, $sql);

$data =  array();
 if (mysqli_num_rows($result) > 0) {
 // output data of each row
  while($row = mysqli_fetch_assoc($result)) {
     $data[] = $row;
  }
 } else {
  echo "0 results";
 }

 mysqli_close($conn);
 echo json_encode($data);

angular-script.js(控制器)

var crudApp = angular.module('crudApp',[]);

crudApp.controller('DbController', function ($scope, $http) {
 $http.get("DatabaseFiles/playerDetails.php")
 .then(function (response) {$scope.players = response.data;
 console.log(response.data)
 });
});

html格式

<!doctype html>
<html ng-app='crudApp'>
<head>
<title>Crud app</title>

<script src="js/jQuery/jquery.min.js"></script>
<script src="lib/angular/angular.min.js"></script>

</head>

<body>
  <div ng-controller="DbController">

    <table >
      <tr>
        <th>Player ID</th>
        <th>Name</th>
        <th>Email</th>
        <th>Password</th>
        <th>Team</th>
      </tr>

      <tr ng-repeat="players in Players | orderBy:'-created'">
        <td>{{players.idPlayer}}</td>
        <td>{{players.PlayerName}}</td>
        <td>{{players.PlayerEmail}}</td>
        <td>{{players.PlayerPassword}}</td>
        <td>{{players.PlayerTeam}}</td>
      </tr>

    </table>
  </div>
  <script src="js/angular-script.js"></script>
</body>

解决了的
我不确定是什么导致了这个问题,但我创建了一个新的数据库和一个新的项目,并对playercontroller.js(以前的“angular script.js”)和index.html做了以下更改
播放控制器.js

var app = angular.module('crudApp', []);
app.controller('mainController', function($scope, $http) {

  $http.get('PlayerRead.php').then(function(response) {
    $scope.users = response.data;
    console.log(response.data);
 });
});

html格式

<!doctype html>
<html >
<head>
  <title>Crud app</title>
  <script 
    src="https://ajax.googleapis.com/ajax/libs/
    angularjs/1.6.4/angular.min.js" 
  ></script>
</head>

<body ng-app="crudApp" ng-controller="mainController">
  <table>
    <tr>
      <th>Player ID</th>
      <th>Name</th>
      <th>Email</th>
      <th>Team</th>
    </tr>

    <tr ng-repeat="user in users track by $index">
     <td>{{user.PlayerID}}</td>
     <td>{{user.PlayerName}}</td>
     <td>{{user.PlayerEmail}}</td>
     <td>{{user.PlayerTeam}}</td>
   </tr>

  </table>

  <script src="PlayerController.js"></script>
</body>
xytpbqjk

xytpbqjk1#

应该是的 players in players | orderBy:'-created'

vmjh9lq9

vmjh9lq92#

使其位于行下方,因为它区分大小写。

<tr ng-repeat="player in players | orderBy:'-created'">
       <td>{{player.idPlayer}}</td>
       <td>{{player.PlayerName}}</td>
       <td>{{player.PlayerEmail}}</td>
       <td>{{player.PlayerPassword}}</td>
       <td>{{player.PlayerTeam}}</td>
   </tr>

相关问题