Richtiges Auslesen von mehreren Daten im JSON Format via JavaScript

peter900

Grünschnabel
Guten Morgen zusammen,

erstmals möchte ich mich vorstellen. Mein Name ist Peter Schmidt ich bin 48 Jahre alt und beschäftige mich aktuell nebenbei mit der Entwicklung einer Online Applikation basierend auf dem Framework7 letztendlich soll die Applikation als Hybrid App basieren.

Nun kurz eine Erklärung worum es sich bei meinem Problem handelt:

Ich lese aktuell die dynamischen Daten aus meiner MySQL Datenbank via einer Serverseitigen PHP Datei aus und wandel dann die Ergebnisse in ein JSON Format, dass funktioniert bisher auch ganz gut.

Die Ausgabe im JSON Format sieht aktuell Beispielweise so aus:
Code:
{"member":[{"id":"1","nick":"test","pass":"test","geschlecht":"1",
"bdate":"1990-03-14","stadt":"Teststadt","plz":"12345","bu_land":"1"}]}

Abfrage tue ich das ganze via JavaScript so:
Javascript:
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
   $http.get("hier_url_zum_severseitigen_script.php")
   .then(function (response) {$scope.member = response.data.member;});

});

</script>

Die Ausgabe sieht aktuell so aus:
Code:
<div ng-repeat="x in member">{{x.nick}}</div>

So bis hierhin ist für mich alles klar und auch soweit verständlich, nun stelle ich mir die Frage wie ich mehrere JSON Ausgabe verbinden kann ich möchte ungern für jede "neue PHP Abfrage" eine neue Serverseitige Datei erstellen am liebsten würde ich alles in einer unterbringen und ein komplettes JSON Format für alle Abfragen zusammenfassen.

Ich dachte mir das Beispielweise so:
Code:
{"member":[{"id":"1","nick":"test","pass":"test","geschlecht":"1",
"bdate":"1990-03-14","stadt":"Teststadt","plz":"12345","bu_land":"1"}]}

{"fotos":[{"id":"1","url":"test","name":"test"}]}

{"nachrichten":[{"id":"1","nachricht":"test","titel":"test"}]}

Allerdings stelle ich mir hierbei die Frage wie ich die jeweiligen "JSON Klassen" über meinen ng-repeat ansprechen kann. Ich gehe von aus, dass ich in diesem Fall auch noch das JavaScript bearbeiten müsste.

Habt ihr hierzu Ideen?

Vielen Dank im voraus sollte ich mich unklar ausgedrückt haben so gebt mir bitte Bescheid.

Viele Grüße Peter
 
hi, also ganz hab ich das nicht verstanden, aber normal kannst du einen haupstamm in json machen,
in deinem php eine mainaction (bsp. getMemberDetails()), die dir die ganzen actions ausfuehrt
(bsp. loadLastTMember(), loadLastTwentyPictures(), loadLastHundretMessages()) und dann in ein objekt zusammenfast,
das du dann serialisierst (jsonisierst ;))

Javascript:
{
"member":[{"id":"1","nick":"test","pass":"test","geschlecht":"1",
"bdate":"1990-03-14","stadt":"Teststadt","plz":"12345","bu_land":"1"}],
"fotos":[{"id":"1","url":"test","name":"test"}],
"nachrichten":[{"id":"1","nachricht":"test","titel":"test"}]
}

//dann response erweitern?

.then(function (response) {
$scope.member = response.data.member;
$scope.fotos= response.data.fotos;
$scope.nachrichten= response.data.nachrichten;
});
/* wobei du bei nachrichten und fotos ein bischen aufpassen musst,
wenn der member nacher vieleicht 100.000 Fotos und 1Millionen Milliarden
Nachrichten hat, wird der json schon etwas groesser ;) */

http://www.w3schools.com/angular/angular_directives.asp

am ng-repeat sollte sich meines wissens nichts aendern,
da ja das json objekt, das du dem $scope.members objekt
zuweist nachwievor das selbe ist...

HTML:
<div ng-repeat="x in member">{{x.nick}}</div>
<ul>
<li ng-repeat="img in fotos">
        <img ng-src="{{img.url}}" />
</li>
</ul>
<div ng-repeat="msg in nachrichten">{{msg.titel}}</div>

aber ich kenne mich nicht mit dem framework aus
und auch nur begrenzt mit AngularJS Directives

Hyper
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück