2009-08-05 7 views
1

私はインターネットラジオストリームから今遊んタイトルとアーティストを取るためにアプリケーションを作った、と私はそれがこのページにプレーンテキストで表示されています:変更データをデータベースに保存するにはどうすればよいですか?

http://thelisthq.net/z1035.php

出力は、単にPHPのエコー$ですvariable 'コマンドを使用していますが、$ variableは常に変化していますので、どのようにして$ variableの異なる値をデータベースに格納しますか?特定の期間にわたって演奏するすべての曲のリストを保持する最終的な計画。

答えて

11

x分ほど実行するように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

<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

+1

+1、すばらしい答え。 – Brandon

関連する問題