I just finished a project that highlights some of the cool things you can do with PHP and databases.
Karamcguire.com is the personal site for Kara McGuire, a personal finance writer and speaker. She is a columnist for the Minneapolis Star Tribune, writes for local magazines, and frequently appears on public radio and local television.
Many features are visible to visitors, including:
• Home page displays her latest Twitters, blog posts, newspaper articles and magazine articles, using both local databases and RSS feeds;
• An interactive “Ask Kara” feature, allowing users to post questions and then see both the question and Kara’s answer. The home page promotes this feature with an “Ask Kara” box that displays a random question from the “Ask Kara” archive. Clicking on the box takes visitors to the “Ask Kara” page, where the question is shown along with the answer.
• http://karamcguire.com/multimedia.php where users can listen to audio or view videos.
• An integrated Google Calendar containing both Kara’s schedule and personal-finance items of general interest.
• Tab-like navigation links that provide a sense of dimension to the site, making it feel like a stack of tabbed pages.
But some of the most interesting stuff is under the hood.
• The newspaper RSS feed was limited and malformed. So I had to write some custom code to parse it correctly.
• Automatic archiving. Whenever a new article appears in the RSS feed, the site automatically stores it in a database so Kara has a complete archive of her work. It also protects against broken links and speeds up the display of stories, because all the internal pages pull articles from the database, not the RSS feed. Even if stories age off of their original site, Kara will still have them available.
• Display of the stories is customized. Clicking on a newspaper article less than a year old provides a three-paragraph summary of the story, with a link to the full article at the newspaper’s site. For articles more than a year old, the full text is displayed.
• A web-based content-management system that lets the client add, delete and modify articles, videos and questions without knowing any HTML.
The design delivers an information-rich site that requires minimum effort by the client to maintain. The most frequent content — newspaper articles, blog posts, tweets — is updated automatically. The client’s only responsibility is to add content that appears less frequently: magazine articles, audio and video. Keeping the site up to date requires only a few hours a month, despite the density of information.









