Hallo Voodoo-Gemeinde,
beruflich benutze ich eher JQuery, HTML, CSS und SQL. Deswegen wollte ich meine PHP-Kenntnisse erweitern und meine Webseite aktualisieren, bzw. für private Zwecke eine komplett neue schreiben (meine aktuelle Webseite ist ein selbstgeschriebener Blog mit den oben genannten Sprachen und PHP, jedoch noch funktional und nicht objektorientiert. Außerdem wollte ich eine Webseite bauen, die mit JSON arbeitet und nicht mit SQL. Das hat keinen besonderen Grund, außer dass ich es mal ohne Datenbank versuchen wollte).
Der Fehler, auf den ich aktuell laufe, ist banal. Da wird irgendwas falsch formatiert sein, aber irgendwie übersehe ich die ganze Zeit etwas - auch obwohl ich schon einige Beiträge im Internet durchforstet habe (ist bestimmt ein ganz dummer Fehler). Ich weiß nicht, wie aktiv ihr hier seid, aber vielleicht will mir einer helfen:
ZitatAlles anzeigen$article_json = '[{"data1" : {
"ID" : "1",
"headline" : "Test",
"date" : "Test",
"content" : "Test"
},
"data2" : {
"ID": "2",
"headline" : "Tes2t",
"date" : "Test2",
"content" : "Test2"
}}] ';
$article_array = json_decode($article_json);
$article = '';
var_dump($article_array);
echo "Ausgabe: " . var_dump($article_array['data1']['ID']);
Ob ich die eckigen Klammern weglasse oder nicht, ist eigentlich egal. Mache ich die eckigen Klammern weg, kommt der Fehler: Fatal error: Cannot use object of type stdClass as array in /controller.php on line 41.
Es klappt sowieso nicht. Das JSON wurde ursprünglich mit file_get_contents ausgelesen - was generell auch klappt. Danach wollte ich den Inhalt in einer for-Schleife ausgeben. Diese for-Schleife wollte ich erweitern und die Ausgabe in einen HTML-Code überführen. Da man aber View und Logik trennen soll, habe ich den HTML-Code dafür in einer anderen Datei angelegt. Der Code sieht so aus:
Zitat<div class="article">
<div class="headline">[headline]</div>
<div class="date">[date]</div>
<div class="content">[content]</div>
</div>
Wie man sich denken kann, sollen die Platzhalter einfach ersetzt werden. Wenn wir bis zur Ausgabe der IDs gekommen sind, würde ich es selbst weiter versuchen.
Viele Grüße
EdeN