模型。它还包含了一些 INSERT 以便您能拥有测试数据。
清单 1. 具有 INSERT 的 REPORTS 表结构
CREATE TABLE IF NOT EXISTS `reports` (
`ID` bigint(20) NOT NULL auto_increment,
`AUTHOR` varchar(32) NOT NULL,
`TITLE` varchar(64) NOT NULL,
`SUBTITLE` varchar(128) NOT NULL,
`CONTENT` varchar(2000) NOT NULL,
`POSTED` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `reports` (`id`, `author`, `title`, `subtitle`, `content`, `posted`) VALUEs
(1, ''BigRed'', ''Spanish Bite Looking Good!'', ''Near the Cape!'',
''Trolled for 3 hours and limited out on Spanish Macks! Watch out for the shallows
near green can #4.'', ''2009-05-03 04:54:33''),
(2, ''JonBoy'', ''Big Rock Report'', ''Spring has sprung'',
''Caught several blackfins and mahi just outside of the Big Rock on Saturday.
We were using flourescent squid teasers with ballyhoo for hookups.
One Mahi weighed over 50#!'', ''2009-05-03 04:56:06''),
(3, ''Erasmus'', ''Drum in the backwaters'', ''The bite was hot!'',
''Loaded up against the marsh grass, boys. Go get em. I was using gulp
with 1/4 ounce jigheads.'', ''2009-05-03 04:57:19''),
(4, ''ReelHooked'', ''Speckled Trout In Old River'', ''Limited out by noon'',
''They were schooling heavy in Old River. They would eat anything we would
throw at them. Most were undersized, but we managed to keep some
and had our fill by midday.'', ''2009-05-03 04:59:00'');
若您希望对本文中给出的这些代码进行实际的测试,可以先创建一个名为 fishinhole 的 MySQL 数据库并在该数据库内执行 清单 1 中的代码。
第一列(ID)是此表的主键。请注意,它使用了 auto_increment 规范以便每当一个新行被插入到此表中,ID 栏都会被前一行的 ID 列的增量填充。这一点非常类似于 Oracle 表中的序列。
AUTHOR 列指定发布此垂钓报告的人的用户名。这是用户的显示名,而非用户真实的名和姓(除非该用户的真实姓名就是其实际的显示名)。
TITLE 列是文章的标题。类似地,SUBTITLE 是文章的副题,并在该 Atom 提要内被用于文章的梗概。
CONTENT 列才是实际的垂钓报告本身。由于这里所生成的这个 Atom 提要只包括整篇文章的一个梗概(因而会吸引用户单击链接来访问网站),而内容本身并不显示在这个 Atom 提要内。
最后,POSTED 列是一个 DATETIME 列,存储了文章发布到网站的日期。
为了保持简单,我只提供了几篇文章(4)。在真实的情形下,有可能会有来自不同作者的数千篇这样的文章。
开始工作
数据库设计完毕后,就可以开始编写 PHP 页面,让它生成 Atom 提要。本文将会带您体验创建一个简单 Atom 提要的全过程,并使用 PHP 进行测试。
请注意,如果想要测试代码,您需要访问一个 PHP 处理器。很多托管解决方案都提供这样的访问。不过,您有可能已经能够从本地访问一个 PHP 处理器。若想知道如何在 Web 环境下执行 PHP 文档,可以咨询相关的系统管理员或技术人员。
在 PHP 内访问数据库
创建一个新的 PHP 文件,称为 syndication.php。代码将会放置于此。
正如之前所提到的,PHP 和 MySQL 具有丰富的友好合作经历。有人甚至戏称二者像是联姻了似的。本文无意对这类判断做任何评论。
清单 2 |