كيف يمكنني تخزين تغيير البيانات في قاعدة البيانات؟
-
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>