Вам потребуется настроить скрипт php для запуска каждые х минут или около того, и вместо того, чтобы отображать результат, проверить самую последнюю запись базы данных по текущей воспроизводимой песне, и, если она отличается, добавить новую запись .
Сначала немного SQL для настройки новой таблицы:
CREATE TABLE SongList (
ID int primary key auto_increment not null,
Song char(255) not null,
PlayTime Datetime not null
);
Затем измените ваш PHP-скрипт, чтобы вставлять записи в базу данных вместо отображения на экране:
<?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);
}
?>
Настройка запланированного задания или задания cron для запуска php -f z1035.php
каждую минуту.
Чтобы увидеть весь список песен, создайте новый php файл station_history.php
<code><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";
}
?>