Nasıl bir veritabanına değişen veriyi saklamak?

1 Cevap php

Ben bir internet radyo akımından hemen oynamaya başlığı ve sanatçı almak için bir uygulama yaptı, ve ben bu sayfada düz metin görüntüleme adres:

http://thelisthq.net/z1035.php

Çıkışı basitçe komutu '$ değişken echo' bir php, ama $ değişken sürekli değişiyor, bu yüzden nasıl bir veritabanına $ değişken her farklı değeri saklamak yok. Belli bir süre içinde oynamak tüm şarkıların bir listesini tutmak için son planı.

1 Cevap

Sen her x dakika kadar çalıştırmak için php komut dosyası kurmak zorunda ve bunun yerine sonuç yankılanan, şu anda çalan şarkıyla karşı en son veritabanı girişini kontrol ve farklı ise, yeni bir kayıt ekleyeceğiz.

İlk olarak, yeni bir tablo kurmak için bazı SQL:

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

Sonra, bunun yerine ekrana yankılanan veritabanı kayıtlarını eklemek için PHP komut değiştirin:

<?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);
}
?>

Zamanlanmış bir görevi veya php -f z1035.php her dakika çalıştırmak için bir cron işi kurmak.

Şarkıların tüm listesini görmek, yeni bir php dosyası oluşturmak için 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>