2016-12-06 11 views
0

角度を使用してテーブルを表示しようとしていますが、表示されません。何かが間違っていますか?以下のコード。テーブルはソースコード内にありますが、内部には何も生成されません。私はAngularが初めてです。あなたはあなたの応答(response.data.records)でdataオブジェクトにアクセスする必要が角型SQL - 欠けているものがありますか?

フロントエンド

<div ng-app="musicApp" ng-controller="musicCtrl"> 

<table> 
    <tr ng-repeat="x in names"> 
    <td>{{ x.Name }}</td> 
    <td>{{ x.SongArtist }}</td> 
    <td>{{ x.SongAlbum }}</td> 
    </tr> 
</table> 

</div> 

<script> 
var app = angular.module('musicApp', []); 
app.controller('musicCtrl', function($scope, $http) { 
    $http.get("http://rhys-bennett.uk/AIDc3391265/includes/formatjson.php") 
    .then(function (response) {$scope.names = response.records;}); 
}); 
</script> 

PHPバックエンド

<?php 

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


$result = $conn->query("SELECT song_name, song_artist, song_album FROM musictable"); 

$outp = ""; 
while($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
    if ($outp != "") {$outp .= ",";} 
    $outp .= '{"Name":"' . $rs["song_name"] . '",'; 
    $outp .= '"SongArtist":"' . $rs["song_artist"]  . '",'; 
    $outp .= '"SongAlbum":"'. $rs["song_album"]  . '"}'; 
} 
$outp ='{"records":['.$outp.']}'; 
$conn->close(); 

echo($outp); 
?> 
+1

Whaaat?手動でJSON文字列を作成していますか?それはあまりにも誤りを起こしやすい人です。 PHPで適切な構造体を作成し、 'json_encode()'でエンコードしてください。 – vuryss

+0

[json_encode()](http://php.net/manual/en/function.json-encode.php)関数があります。あなたは手でジョーソンを一緒に束ねる必要はありません、そうですか?また、ブラウザのネットワークコンソールを確認してください。あなたの要求は送られていますか?レスポンスは何ですか? –

+0

ダイレクトに:問題はほぼ確実に手動でエンコードされたJSONです。代わりに、json_encodeの配列にレコードを置くだけです。 '$ json = []; while($ rs = $ result-> fetch_array(MYSQLI_ASSOC)){$ json [] = $ rs;}エコーjson_encode($ json); die(); ' –

答えて

1

$http.get("http://rhys-bennett.uk/AIDc3391265/includes/formatjson.php") 
.then(function (response) { 
    $scope.names = response.data.records; 
}); 
+0

これを修正しました。 – RachMcrae

関連する問題