JSON Key nicht hardcodieren, sondern via Variable zugreifen

djinfinity

Grünschnabel
Liebe Boardies
Ich bin absoluter Anfänger in Bezug auf "json" - viele Tutorials durchgelesen, viele Videos mir angesehen,
doch irgendwann kam ich nicht mehr weiter ...

Die Aufgabe :

PHP:
///////////////////////////
// Sender Zahl eintragen
// Hinterlegte Seite nur als Beispiel
$url = "https://deineseite.de/?ch=0";
// Inhalte holen
$daten = file_get_contents($url);
// Dekodieren der Inhalte
$inhalte = json_decode($daten);
// IDs der Moderatoren
// 146 = Moderator 1
// 353 = Moderator 2
// 339 = Moderator 3
//////////////////////////
<b><br /> Moderator</b><br />
<?php
echo $inhalte->live_show ->presenter_array ->{'339'}
?>

In der Json steht folgendes drin :
JSON:
            [presenter_array] => Array
                (
                    [339] => Moderator 3
                )

Das Problem, was ich nicht verstehe :
Wie kann ich das bewerkstelligen, das beim " presenter_array ->{'339'} " eine Variable hinterlegt werden kann, welche in der { hier eine Variable? },
damit ich die " IDs " der jeweiligen Moderatoren ansprechen kann, und diese entsprechend ausgebe.
Da die Variablen "wechselnd" sind, stellt dieses für mich eine Hürde da.

In der Json wechseln die Zahlen in der [ ] - deswegen habe ich in der php bereits "ID´s" angelegt.

Würde mich freuen, wenn Ihr mir dabei helfen könntet - Danke sehr
 
Zuletzt bearbeitet:
Willkommen im Forum! :)

Nimm die Zugriffsart per eckiger Klammern: ...->presenter_array[$yourVariable]. Das nächste Mal bitte einen aussagekräftigen Threadtitel wählen. Ich habe mich mal darum gekümmert und das Thema außerdem in das PHP-Forum verschoben ;)
 
Willkommen im Forum! :)

Nimm die Zugriffsart per eckiger Klammern: ...->presenter_array[$yourVariable]. Das nächste Mal bitte einen aussagekräftigen Threadtitel wählen. Ich habe mich mal darum gekümmert und das Thema außerdem in das PHP-Forum verschoben ;)
Danke erst mal für das Verschieben - Bin ein "Newbie" in diesem Forum ;)

Zur Antwort Deinerseits :
Funktioniert dieses auch bei wechselnden IDs ????
 
Probier's halt aus! Im Zweifel funktioniert alles, was eine Variable nutzt, immer für variable Inhalte.
 
PHP:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// Aktualisierung einbinden
// Aktualisierung ist auf 30 secs
// header("refresh: 30;");
///////////////////////////
// Konfiguration
// Sender - Nummern
// RMNradio = 0
// Hier können noch weitere Sender stehen
///////////////////////////
// Sender Zahl eintragen
$url = "https://api.schlagerparadies.de/get_basic_summary/?ch=0";
// Inhalte holen
$daten = file_get_contents($url);
// Dekodieren der Inhalte
$inhalte = json_decode($daten, true);
// Variablen zum Auslesen
// Interpret
$artist = $inhalte ['meta'] ['artist'];
// Title
$title = $inhalte ['meta'] ['title'];
// Amazon Asin
$amazon = $inhalte ['meta'] ['amazon'] ['asin'];
// cover
$cover = $inhalte ['meta'] ['amazon'] ['images_url']['large'];
// kein Cover 
$nocover ="nocover.jpg";
// Kein Cover - Tag Anzeige
$nocovertitle ="kein Cover verf&uuml;gbar";

?>

<table width="100%">
<tbody>
<tr>
<td rowspan="2" valign="top" align="left"><span style="text-decoration:underline;">Interpret:</span>&nbsp;
<?php echo $artist;?><br />
<span style="text-decoration:underline;">Titel :</span>&nbsp;
<?php echo $title;?><td valign="top" align="left"><span style="text-decoration:underline;">
<?php echo "<img src=\"".$cover."\" title=\"".$artist."\">";?>
<?php 
// Check - ob Cover vorhanden
if ($cover==Null)
{
 echo "<img src=\"".$nocover."\" title=\"".$nocovertitle."\">";
}
else
{
echo "<img src=\"".$cover."\" title=\"".$artist."\">";
}
?>

<br />
<?php echo "<a href=\"https://amazon.de/gp/product/".$amazon."\" target=\"_blank\"><span style=\"text-decoration:underline;\"><img src=\"./station_logos/ama_logo.png\" width=\"32px\" height=\"32px\" title=\"Bei Amazon kaufen\"</span></a>"; ?>
&nbsp;<a href="http://metadyn.rmnradio.net/playlist.php?chid=0&bgcol=00315c&fgcol=fff" target="webtoolframe" onClick="window.open('http://metadyn.rmnradio.net/playlist.php?chid=0&bgcol=00315c&fgcol=fff', 'webtoolframe', 'width=600,height=400,hotkeys=no,menubar=no,locationbar=no,resizeable=no,status=no')"><img src="./station_logos/plist.png" title="Playliste anzeigen"></a>&nbsp;<a href="http://metadyn.rmnradio.net/wunschbox/index.php?ch_id=0" target="webtoolframe" onClick="window.open('http://metadyn.rmnradio.net/wunschbox/index.php?ch_id=0', 'webtoolframe', 'width=600,height=400,hotkeys=no,menubar=no,locationbar=no,resizeable=no,status=no')"><img src="./station_logos/mail.png" title="Dein Musikwunsch"></a></td>
</td>
</tr>
</tbody>
</table>

Tante Edit ;)
Ich glaube, das ich es gefunden habe ...
Bitte dennoch drüber schauen ...
 
Zuletzt bearbeitet:
Ah :) Ja, ich erinnere mich auch noch an das HTML-Buch von 1998 von Markt & Technik mit dem ich damals angefangen habe! Das liegt sogar noch im Regal aus nostalgischen Gründen :)
 
Immer noch XSS durch naive Interpolation von Daten in HTML.
Was meintest Du mit dieser Aussage ? Ich bin ja "NEWBIE" in Sachen "JSON" und ehrlicherweise, ich bin froh, das das so funktioniert ;) Falls du aber eine andere Lösung haben solltest, welche einfacher und effizienter wäre / ist - Gern nehme ich diese ...

Ja, ich erinnere mich auch noch an das HTML-Buch von 1998 von Markt & Technik mit dem ich damals angefangen habe! Das liegt sogar noch im Regal aus nostalgischen Gründen
Mein Anfangsbuch steht noch immer im Regal - Kannst Du dich noch an ein "HTML-Schnellstart" VErzeichnis in Größe einer etwas größeren "Scheck-Karte" erinnern ? Das funktioniert noch heute ...
Ausserdem bin ich so gestrickt, das alles sauber funktionieren sollte - und das mit den Umlauten, das schreibste einfach automatisch in das HTML - auch im Dreamweaver etc ;)
 
Zurück