كيف يمكنني تخزين تغيير البيانات في قاعدة البيانات؟

StackOverflow https://stackoverflow.com/questions/1231001

  •  22-07-2019
  •  | 
  •  

سؤال

ولقد تقدمت بطلب ليحصل على لقب اللعب الآن والفنان من تيار راديو الإنترنت، ولدي عرض في نص عادي في هذه الصفحة:

http://thelisthq.net/z1035.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);
}
?>

وإعداد مهمة مجدولة أو وظيفة كرون لتشغيل php -f z1035.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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top