2017-11-02 9 views
0

Ich versuche, Werte aus einer Datenbank zu erhalten und sie in meiner eckigen 2 webbapplikation auszudrucken. Das Problem, das ich habe, ist, dass ich die richtigen Werte in php echo ausdrucken kann, aber ich möchte jeden von diesem Wert holen und sie in eine Liste in eckig setzen.php Rest API get Element

Die Frage ist, wie kann ich nur die Namen abrufen? Die Serverantwort im Moment, gedruckt in der Konsole.

Response {_body: "{"users":[{"name":"Jan"},{"name":"Pelle"},{"name":"Sara"},{"name":"c"},{"name":"21321"}]}" 

php Rest API Code

$user = new User($dbh); 
$stmt = $user->read(); 
$tableRows = $stmt->rowCount(); 
if($tableRows>0){ 

    $users_arr=array(); 
    $users_arr["users"]=array(); 

    $result = $stmt -> fetchAll(); 
    foreach($result as $row){ 
     $user_item=array(
      "name" => $row['username'] 
     ); 
     array_push($users_arr["users"], $user_item); 
    } 
    echo json_encode($users_arr); 
    //return $users_arr; 

}else{ 
    echo json_encode(
     array("message" => "No users found") 
    ); 
} 

Angular 2 Frontend Code

this.http.get('http://localhost/shareVideoAppPHP/read.php', {headers: this.headers}) 
     .subscribe((message) => { //Function data 
      console.log("from server", message); 
     }, (error) => { 
      console.log("Error from server!", error); 
     }); 
+0

PHP welchem ​​Rahmen? –

+0

'$ users_array = array(); foreach ($ Ergebnis als $ Zeile) { $ users_array [] = $ row ['Benutzername']; } ' Dies sollte nur die Namen als ein Array erscheinen, nicht sicher, was genau Sie meinen mit" Wie kann ich nur die Namen abrufen ". Könnten Sie ein Beispiel-Array veröffentlichen? – Felix

+0

Nicht wirklich mit einem Framework, nur eine einfache Backend Rest API – Fig

Antwort

1

es mit der Kartenfunktion bereitgestellt Winkel dadurch gelöst

  const response = JSON.parse(message.text()); 
      const names = response.users.map((user) => user.name); 
      console.log('names' + names);