2009-08-05 99 views
1

我提出申請,採取從互聯網廣播流正在播放的標題和藝術家,而且我已經在純文本此頁面上顯示:如何將更改數據存儲到數據庫中?

http://thelisthq.net/z1035.php

的輸出是一個簡單的PHP的回聲$變量'命令,但$變量不斷變化,所以如何將$ variable的每個不同值存儲到數據庫中。最終計劃要保留一段時間內播放的所有歌曲的列表。

回答

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> 
+0

什麼一個完整的答案! – Jamie 2009-08-05 03:40:34

相關問題