我在localhost上有一个互联网广播电台的测试页面,它包含了这个PHP文件:
<?php
/*** mysql hostname ***/
$hostname = 'localhost';
/*** mysql username ***/
$username = 'root';
/*** mysql password ***/
$password = 'MYPASSWORD';
try
{
$dbh = new PDO("mysql:host=$hostname;dbname=radio3", $username, $password);
$sql = "SELECT *, TIME_FORMAT(airtime, '%k:%i') `airtime` FROM radiopresenters GROUP BY expiration ORDER BY id";
$result = $dbh->query( $sql );
// not really necessary
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
<?php
// using alternative foreach syntax
foreach($result as $row):
?>
<li class="showItem even">
<p class="showTime"><?php echo $row['airtime']; ?></p>
<p class="showName">
<a href="/on-air/">
<img src="<?php echo $row['image']; ?>" alt="" class="showImage" />
<strong><?php echo $row['presenter']; ?></strong>
</a>
</p>
<p class="showDescr"><?php echo $row['showinfo']; ?></p>
</li>
<?php
// using alternative syntax
endforeach;
?>
这是数据库架构:
-- phpMyAdmin SQL Dump
-- version 3.5.0-dev
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jan 01, 2012 at 11:01 PM
-- Server version: 5.0.45-community-nt-log
-- PHP Version: 5.3.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
--
-- Database: `radio3`
--
-- --------------------------------------------------------
--
-- Table structure for table `radiopresenters`
--
CREATE TABLE IF NOT EXISTS `radiopresenters` (
`id` int(11) NOT NULL auto_increment,
`image` varchar(255) NOT NULL default 'http://localhost/radio1/microphone.jpg',
`presenter` varchar(255) NOT NULL,
`airtime` time NOT NULL,
`expiration` time NOT NULL,
`showinfo` text NOT NULL,
`more` varchar(255) NOT NULL,
`day` enum('Monday','Tuesday','Wednesday') default NULL,
PRIMARY KEY (`id`),
KEY `presenter` (`presenter`,`more`),
KEY `image` (`image`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Dumping data for table `radiopresenters`
--
INSERT INTO `radiopresenters` (`id`, `image`, `presenter`, `airtime`, `expiration`, `showinfo`, `more`, `day`) VALUES
(1, '', 'Non-Stop Music', '00:00:00', '06:00:00', '', '', NULL),
(2, 'microphone', 'Breakfast Show', '06:00:00', '10:00:00', 'Waking up the West Midlands online in the morning!', '', NULL),
(3, 'image.gif', 'Joe Bloggs', '10:00:00', '14:00:00', 'Hits through your day', '', NULL),
(4, 'image.gif', 'John Smith', '14:00:00', '18:00:00', 'Drivetime for the Midlands', '', ''),
(5, '', 'Richard Roe', '18:00:00', '22:00:00', 'Rich has the hits', '', NULL),
(6, '', 'Late Show', '22:00:00', '00:00:00', 'More Hits and Memories non-stop.', '', NULL);
但是,我必须通过phpMyAdmin手动更新数据库,最好的方法是将它作为模板显示某些日期设置的数据,然后恢复到默认设置,如果没有设置[我不知道]认为cron jobs可以做到这一点,因为我在Windows上。
我是PDO / MySQL的新手,它比mysql_fetch_array的旧方法更好,就像Tizag's site
一样我使用的是PHP 5.35,Apache 2.2,Windows 7是我的操作系统,这是为了相关性而添加的。
基本上,我想要做的是改进我的代码,以便显示预设数据,但是使用数据库中的数据在某些日期的页面上显示数据,我认为它被称为“数据轮换脚本”,像Capital FM London一样使用(好吧,根据我在网上看到的内容,这是一个Django脚本,但如果可能的话,我正在尝试在PHP中做类似的事情!)
非常感谢所有建议,谢谢!