我做了一个应用程序,从互联网广播流中获取现在播放的标题和艺术家,我在此页面上以纯文本显示:
http://thelisthq.net/z1035.php
输出只是一个php'echo $ variable'命令,但是$ variable不断变化,所以如何将$ variable的每个不同值存储到数据库中。最终计划保留在一段时间内播放的所有歌曲的列表。
答案 0 :(得分:11)
你必须设置php脚本每隔x分钟左右运行一次,而不是回显结果,检查当前正在播放的歌曲的最新数据库条目,如果不同,添加一条新记录
首先,一些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
<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>