我正在創建一個電視指南,其中列出了將要發佈的節目(以及某些列表,以前的播出),並將所有數據存儲在數據庫中。它運行在PHP中,我的版本是5.28(很快升級到5.30或6)。用PHP編寫的電視指南 - 有datetime()和數據庫功能的問題
下面是(注意現場廣播日被存儲爲DATETIME在數據庫中),其作品的腳本:
[免責聲明:劇本是不是我的,而是一個通用的一個我下載和修改,以適應我自己的需求]
<? //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>";
}
?>
顯示所有的情節來了,如果有任何即將到來的明年,它會顯示他們的一年中,像這樣的:
電視節目下一顯示在通道1 2009年12月30日 - 下午6:00「第1集 - 光合作用」設置提醒 下一顯示在通道1 1月6日
電視節目 - 2:45 PM「第2集 - 音樂背後」設置提醒
下一個顯示在通道1 1月7日的電視節目 - 下午8:00「終極汽車罪」設置提醒
不過,我想它做的是在一段時間後刪除某些記錄已過期(但是這將有要在腳本中的某處設置,因爲程序長度會有所不同),而不是手動從數據庫中刪除它們。有些節目長30分鐘,其他節目長60分鐘,基本上不同。
我想什麼它做的是這個(通知,首批上市不顯示的日期,因爲它是當前日期。):未來
電視節目顯示在通道1下午6:00「CCTV城市 - 威根「設置提醒
電視節目下一顯示在通道1 1月9日 - 下午2:45‘羅馬帝國 - 它的人民的歷史’設置提醒
下一個顯示在通道1 1月10日 電視節目 - 下午8:00」百大名人榜最差時刻「設置提醒
但我不知道如何配置它與PHP或date()函數做到這一點。它與日期一起工作良好,並顯示它們。 我無權訪問cron作業,因爲它位於Windows Vista Home Edition上的本地主機Apache安裝上。
如果有人可以幫我弄清楚這將是非常感謝 - 所有的幫助,非常感謝。
我沒有把它當做一個活的網站,因爲它現在正處於「發展中的地獄」,我想盡可能地把事情做好。
什麼* *究竟是你的問題?如何根據當前日期或什麼顯示不同的日期? – 2010-01-08 23:17:38
這是PHP 5.2.8和5.3.0。 PHP 6離你太遠,甚至不在乎;-) – phidah 2010-01-08 23:25:44
你介意分享你的電視指南的數據源嗎? 謝謝 – Obaid 2010-05-29 23:56:03