Ben programları veritabanında saklanan tüm verileri ile, geliyor (ve bazı listeleri, geçmişten önceki airings) listeleyen bir TV Guide oluşturma. Bu benim sürümü (yakında 5.30 veya 6 yükseltme) 5.28 olması, PHP çalışır.
Aşağıda (not alan Airdate veritabanında DATETIME olarak depolanır) çalışan bir betik:
[Yasal Uyarı: komut benim değil, ama ben indirilen ve kendi ihtiyaçlarına göre değiştirilebilir bir jenerik bir.]
<? //connect to mysql //change user and password to your mySQL name and password
mysql_connect("localhost","root","PASSWORD");
//select which database you want to edit
mysql_select_db("tvguide1");
//select the table
$result = mysql_query("select * from epdata3 order by airdate LIMIT 20;");
//grab all the content
while($r=mysql_fetch_array($result))
{
//the format is $variable = $r["nameofmysqlcolumn"];
//modify these to match your mysql table columns
$programme=$r["programme"];
$channel=$r["channel"];
#$airdate = strtotime($r['airdate']);
$airdate = strtotime($r['airdate']);
$now = strtotime("NOW");
$currentYear = date("Y", $now);
$yearOfDateFromDatabase = date("Y", $airdate);
if($yearOfDateFromDatabase == $currentYear)
$dateFormat = "F jS - g:ia"; // dateFormat = 24 December
else
$dateFormat = "F jS, Y - g:ia"; // dateFormat = 01 January 2010
$currentTime = date("g:ia", $airdate); // format of "Y" gives four digit year ie
2009 not 09
$airdateFormatted = date($dateFormat, $airdate);
$sDate = date("F dS, Y - g:ia",$airdate);
$episode=$r["episode"];
$setreminder=$r["setreminder"];
echo "<tr><td><b>$programme</b></td><td>showing on $channel</td>";
echo "<td>$airdateFormatted</td><td>$episode</td><td>$setreminder</td></tr>";
}
?>
O kadar gelen tüm bölümlerini gösterir ve orada varsa önümüzdeki yıl geliyor, bu gibi, yıl ile bunları görüntüler:
TV Programme showing next on Channel1 December 30th, 2009 - 6:00pm "Episode 1 - Photosynthesis" Set Reminder
TV Programme showing next on Channel1 January 6th - 2:45pm "Episode 2 - Behind the Music" Set Reminder
TV Programme showing next on Channel1 January 7th - 8:00pm "Ultimate Car Crimes" Set Reminder
Ancak, ne yapmam bunu istiyorum beni elle veritabanından silmeden ziyade (program uzunlukları değişir yana, ama bir yerde komut ayarlanmış olması gerekir) süresi doldu bir süre sonra belirli kayıtları kaldırmak olduğunu. Bazı programlar, diğerleri 60 dakika, 30 dakika uzun ... uzunlukları temelde, değişir.
Ne Ben bunu yapmak istiyorum (. O anki tarihi olarak ilk ilan tarihini görünmüyor fark) şudur:
TV Programme showing next on Channel1 6:00pm "CCTV Cities - Wigan" Set Reminder
TV Programme showing next on Channel1 January 9th - 2:45pm "Roman Empire - A History of its People" Set Reminder
TV Programme showing next on Channel1 January 10th - 8:00pm "Celebrity 100 Worst Moments" Set Reminder
but I don't know how to configure it to do this with PHP or the date() function. It works fine with the dates, and showing them. I don't have access to cron jobs since this is on a localhost Apache installation on Windows Vista Home Edition.
Herkes bana bu anlamaya yardımcı olabilir eğer çok duyacağız - Tüm yardım çok takdir edilmektedir.
Ben şu anda "gelişme cehennemde" beri, canlı bir site olarak bu koymak değil, ve ben doğru mümkün olduğunca şeyler almak istiyorum.