Frage PHP Abfrage ständig reloaden

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

shellyx

Neues Mitglied
17 Februar 2019
1
0
1
26
Moin erstmal,
ich prgrammiere grade für ein Webradio eine Website und dort wird per php Script immer der Aktuelle Titel abgefragt.
Allerdings nur einmal, wenn die Seite geladen wird. Ich würde es aber gerne so haben, dass diese Abfrage ständig gemacht wird, damit dort immer der aktuellste Song steht.
PHP:
<div class="container-audio" id="reload">
<?php
$station = "teststation";
$json_station = file_get_contents("https://api.laut.fm/station/".$station);
$obj_station = json_decode($json_station);
$json_song = file_get_contents("https://api.laut.fm/station/".$station."/current_song");
$obj_song = json_decode($json_song);
echo "Jetzt läuft " . $obj_song->artist->name . " - " . $obj_song->title . "<br>";
if ($obj_station->current_playlist) {
    echo "Playlist: " . $obj_station->current_playlist->name ."<br>";
} else {
    echo "Playlist: Basisplayliste";
}
?>
    </div>
Danke ;)
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.046
204
63
18
Ich würde es aber gerne so haben, dass diese Abfrage ständig gemacht wird
Ständige Abfragen ans Backend kannst du mit Ajax-Requests erreichen.
Setze ein Intervall per JS und führe dann den Ajax-Request aus.

Ich möchte dich aber nebenbei darauf hinweisen, dass du hier Spaghetti-Code hast.
Generell empfiehlt es sich, erst das Backend abzufragen (man könnte es als Controller sehen) und die Parameter dann an einen View zu übergeben. Was hier hier gerade beschrieben habe machen Frameworks heutzutage. Deinen PHP-Code inline auszuführen ist nicht best-practice. Ich kann aber auch schlecht einschätzen, was da noch auf die Seite soll. Wenn es um Login-Systeme und sowas alles geht, ist es nur zu empfehlen (auch aus Sicherheitsgründen).
Ich schätze dich so ein, dass das noch etwas zu früh ist, um sich mit sowas zu beschäftigen. Aber behalte im Hinterkopf, dass du, sobald du die Grundlagen drauf hast, dich mit sowas beschäftigen solltest.
 
Werbung: