特定时间的数据 - 如何处理PHP / MySQL / PDO?

时间:2012-01-01 23:39:09

标签: php mysql database pdo

我在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中做类似的事情!)

非常感谢所有建议,谢谢!

0 个答案:

没有答案