Frage

Ich habe eine Anwendung, die jetzt spielt Titel und Interpreten von einem Internet-Radio-Stream zu nehmen, und ich habe es auf dieser Seite im Klartext angezeigt wird:

http://thelisthq.net/z1035.php

Der Ausgang ist einfach ein php echo $ variable 'Befehl, aber $ variable ständig ändert, so wie speichere ich jeden anderen Wert von $ Variable in einer Datenbank. Das Ende Plan, um eine Liste aller Songs zu halten, die über einen bestimmten Zeitraum zu spielen.

War es hilfreich?

Lösung

Du musst das PHP-Skript einrichten alle x Minuten oder so laufen, und stattdessen das Ergebnis der Echo, überprüfen Sie die neuesten Datenbankeintrag gegen den aktuell abgespielten Song, und wenn es anders ist, fügen Sie einen neuen Rekord .

Zuerst einig SQL eine neue Tabelle zu erstellen:

CREATE TABLE SongList (
    ID int primary key auto_increment not null,
    Song char(255) not null,
    PlayTime Datetime not null
);

Dann ändern Sie Ihren PHP-Skript Datensätze in der Datenbank einzufügen, anstatt auf den Bildschirm von Echo:

<?php
$song = get_song(); //not sure how you're doing that
$sql = "SELECT Song FROM SongList ORDER BY PlayTime DESC LIMIT 1";
list($prevSong) = mysql_fetch_row(mysql_query($sql));
if ($song !== $prevSong) {
    $sql = "INSERT INTO SongList (Song, PlayTime) VALUES ('$song', NOW())";
    mysql_query($sql);
}
?>

eine geplante Aufgabe oder einen cron-Job ausgeführt werden soll php -f z1035.php jede Minute ein.

Um die gesamte Liste der Songs zu sehen, erstellen Sie eine neue PHP-Datei station_history.php

<html>
<body>
<pre>
<?php
$sql = "SELECT Song, PlayTime FROM SongList LIMIT 20"; // Just the last 20 songs
$result = mysql_query($sql);
while(list($song, $playtime) = mysql_fetch_row($result)) {
    echo "[$playtime] $song\n";
}
?>
</pre>
</body>
</html>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top