2016-08-20 42 views
0

我需要制作一个显示所有项目的页面,并且在点击时将所有可用的地方带给我。我怎样才能使MySQL中的类与JSON?

我需要这在MySQL

app.controller('namesCtrl', function($scope) { 

$scope.items = [ 
    {name: 'item1', place: ['place1', 'place2']}, 
    {name: 'item2', place: ['place2', 'place3']}, 
    {name: 'item3', place: ['place1', 'place2', 'place3']}, 
    {name: 'item4', place: ['place1']}, 
    {name: 'item5', place: ['place1', 'place2']} 
]; 

});

我的PHP是

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

$conn = new mysqli("localhost", "user", "pass", "table"); 

$result = $conn->query("SELECT * FROM `especialidades`"); 

$outp = ""; 
while($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
    if ($outp != "") {$outp .= ",";} 

    $outp .= '{"id":"' . $rs["id"] . '",'; 
    $outp .= '"nombre_especialidad":"' . $rs["nombre_especialidad"] . '",'; 
    $outp .= '"aguadilla":"' . $rs["aguadilla"] . '",'; 
    $outp .= '"arecibo":"' . $rs["arecibo"] . '",'; 
    $outp .= '"bayamon":"' . $rs["bayamon"]  . '",'; 
    $outp .= '"caguas":"' . $rs["caguas"] . '",'; 
    $outp .= '"carolina":"' . $rs["carolina"] . '",'; 
    $outp .= '"guayama":"' . $rs["guayama"] . '",'; 
    $outp .= '"hato_rey":"' . $rs["hato_rey"] . '"}'; 
} 
$outp ='{"especialidades":['.$outp.']}'; 
$conn->close(); 

echo($outp); 
?> 

即时得到了很多错误。

如何正确的做这个在MySQL中,并得到它在JSON中。

+0

为什么不在一次调用中获取所有内容,并在点击事件中使用ng-show或ng-if显示地点? –

+0

我是新来的角和我的知识的MySQL不是一流的。第一个例子适用于我,但我不知道如何把它放在mysql中,这样我就可以创建一个后端,并在不更改前端的情况下进行更新。 –

回答

1

您的代码应该是这样的

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

$conn = new mysqli("localhost", "user", "pass", "table"); 

$result = $conn->query("SELECT id, nombre_especialidad,aguadilla,arecibo, bayamon,caguas,carolina,guayama,hato_rey FROM `especialidades`"); 

$outp = ""; 
while($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
    $outArray["especialidades"][] = $rs; 
} 
$conn->close(); 
$outp = json_encode($outArray); 
echo $outp; 
?> 

希望这将帮助你!

+0

它工作正常。 @Girijesh Kumar,但我需要作为输出是 {name:'item1',place:['place1','place2']}, {name:'item2',place:['place2','place3 ']}, {name:'item3',place:['place1','place2','place3']}, {name:'item4',place:['place1']}, {name: 'item5',place:['place1','place2']}'所以我可以把它放在$ scope.locations中,并以onsen/angular –