2017-02-24 1 views
1

누군가 내 데이터베이스에서 데이터를 표시하는 코드에 대해 누락 된 부분을 말해 줄 수 있습니까? 매우 감사!데이터베이스에서 데이터를 표시하는 AngularJS + PHP + MySQL

HTML

<!DOCTYPE html> 
    <html lang="en" ng-app="VinylApp"> 
    <head> 
     <meta charset="utf-8">  
     <title>Vinyl Record Store</title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.2/angular.min.js"></script> 
     <script src="script.js"></script><script src="app.js"></script> 
     <link rel="stylesheet" href="main.css"> 
    </head> 

    <body> 
    <div ng-app="VinyApp" ng-controller="VinylListController"> 

     <table> 
     <tr ng-repeat="vinyl in vinyls"> 
      <td>{{vinyl.Vinyl_ID}}</td> 
      <td>{{vinyl.VinylName}}</td> 
      <td>{{vinyl.Artist}}</td> 
      <td>{{vinyl.Price}}</td> 
     </tr> 
     </table> 
    </div> 
    </body> 
</html> 

JS

var app= angular.module('VinylApp', []); 
app.controller('VinylListController', function($scope, $http){ 
    $http.get("db_con.php") 
    .then(function(response){ 
    $scope.vinyls = response.data.records;  
    }); 
}); 

PHP

<?php 
    header("Access-Control-Allow-Origin: *"); 
    header("Content-Type:application/json; charset=UTF-8"); 

    $conn = new mysqli("myServer","myUser", "myPassword", "Northwind"); 
    $result = $conn->query("SELECT * FROM vinyl"); 
    $outp= ""; 
    while($rs=$result->fetch_array(MYSQLI_ASSOC)){ 
    if ($outp != "") {$outp .= ",";} 
    $outp .= '{"VinylID":"' . $rs["VinylID"] . '",'; 
    $outp .= '"VinylName":"' . $rs["VinylName"]  . '",'; 
    $outp .= '"Artist":"'. $rs["Artist"]  . '",'; 
    $outp .= '"Price":"'. $rs["Price"]  . '"}'; } $outp ='{"records":['.$outp.']}'; $conn->close(); 

    echo($outp); 
    } 

?> 
+0

을 추가? console.log에 실수가 있었습니까? –

+0

PHP 코드가 유효하지 않습니다. 핸들 바'echo ($ outp); }'그리고 결국 코드가 깨어납니다. – lin

+0

현재 화면에 아무 것도 표시되지 않고 콘솔에 아무 것도 표시되지 않습니다. 네트워크 상태를 지금보고있는 상태에서 지금 당분간은 디버깅하려고합니다. 대신 print ($ outp);}로 바꿔야합니까? –

답변

0

나 문제 해결이있다. 이 코드를 사용해보십시오. g는 저에게 잘 작동합니다. 여기에 새로운 angular.min.js을 추가하고 응답이 무엇 db_con.php`file은`당신이 볼을 찾아 경우 일부 변경

var app= angular.module('VinylApp', []); 
 
app.controller('VinylListController', function($scope, $http){ 
 
    $http.get("db_con.php") 
 
    .then(function(response){ 
 
    $scope.vinyls = response.data;  
 
    }); 
 
});
<!DOCTYPE html> 
 
    <html lang="en" ng-app="VinylApp"> 
 
    <head> 
 
     <meta charset="utf-8">  
 
     <title>Vinyl Record Store</title> 
 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.24/angular.min.js"></script> 
 
\t <script src="app.js"></script> 
 
     <script src="script.js"></script> 
 
     
 
    </head> 
 
    <body ng-app="VinyApp"> 
 
    <div ng-controller="VinylListController"> 
 
     <table> 
 
     <tr ng-repeat="vinyl in vinyls"> 
 
      <td>{{vinyl.Vinyl_ID}}</td> 
 
      <td>{{vinyl.VinylName}}</td> 
 
      <td>{{vinyl.Artist}}</td> 
 
      <td>{{vinyl.Price}}</td> 
 
     </tr> 
 
     </table> 
 
    </div> 
 
    </body> 
 
</html> 
 
    
 
    
 
<?php 
 
    
 
    $conn = new mysqli("localhost","root", "", "pinakin_northwind"); 
 
    $result = $conn->query("SELECT * FROM vinyl"); 
 
    $outp = array(); 
 
    while($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
 
\t \t $outp[] = $rs; 
 
    } 
 
\t echo json_encode($outp); \t 
 
?>

관련 문제