Low End Mac's Online Tech Journal
Displaying Stock Quotes and Timestamps with PHP
Website Automation with PHP and MySQL, Part 13
Dan Knight - 2002.07.16
We'll start by noting a programming error in the previous column.
Here's the code we first came up with to see if a record existed:
- if ($get_links == "") {die ("no record");}
- echo "<li> <a href=\"/arc/$thisdate.html\">$today in LEM history:</a> $get_links[stories]</li>";
It seemed to work just fine, until the day we didn't have a record. Then it did what the die command is supposed to do - stopped execution. Oops.
Thinking things through, I revised the code. Instead of testing if there was no data, I tested if there was data as follows:
- if ($get_links <> "")
- {echo "<li> <a href=\"/arc/$thisdate.html\">$today in LEM history:</a> $get_links[stories]</li>";}
Voilà, problem solved. And we've had the previous column fixed for some time to reflect the change.
We discovered one more problem: The 80 character field for URLs just wasn't long enough for some of the sites we've linked to. We ended up boosting that field length to 128 characters to play it safe.
Automating the Date Stamp
This week we've made to more automation changes to the site. The first was automating the time stamp that appears on the home page and in a few other spots. I've been manually updating it for years - and sometimes making mistakes.
Also, since we're adding links throughout the day, the manual timestamp was incorrect in no time at all. Time to figure out how to display the time of the most recent link addition.
On our Apple Quicklinks headline news site, this was easy. We have one database of links, so we simply check for the most recently added one, like this:
- $last_added = mysql_fetch_array(mysql_query("SELECT * FROM xlinks ORDER BY timestamp DESC LIMIT 1"));
- $timestamp = $last_added[timestamp];
- echo "<h5>Most recent link added ";
- echo date("h:i a T l, F j, Y", $timestamp);
- echo "</h5>";
The first line selects the most recently added record, and the next line reads the timestamp. Then we display it with the format hour, minute, am/pm, time zone, weekday, month, date, and year.
But on Low End Mac, we have two kinds of links - those on our site and those on other sites. Each is kept in a separate database, so we couldn't do things quite as simply as on the Quicklinks site.
Here's what we came up with for LEM:
- $latestlem = mysql_fetch_array(mysql_query("SELECT * FROM links ORDER BY timestamp DESC LIMIT 1"));
- $latest = mysql_fetch_array(mysql_query("SELECT * FROM xlinks ORDER BY timestamp DESC LIMIT 1"));
- if ($latestlem > $latest)
- {$latest = $latestlem;}
- $latest = $latest[timestamp];
- echo "<h4>Most recent link added ";
- echo date("l, F j", $latest);
- echo " at ";
- echo date("h:i a T", $latest);
- echo "</h4>";
The first line reads the timestamp from the latest local article, and the next line reads the timestamp from the most recently added external link. We compare them to decide which is more recent, then display them as a header 4 like this:
Most recent link added Monday, July 15 at 04:43 pm EDT
And now I don't have to manually post timestamps when I'm adding new content or worry about a manually entered timestamp not reflecting that fact that we may have added content since then.
Apple Stock Tracker
I've been looking for an automated stock tracker for years. Long before I even thought about updating links automatically, I wanted a real time (well, the usual 20 minute delay) stock tracker. I never did find a simple one I could add to the site.
So Monday I spent some time searching the Web, fiddling with some PHP samples, referencing php.net, testing and debugging, tweaking, and finally came up with a nice simple stock tracker that does just one thing: Report the latest trade in AAPL stock.
I found far more than I was looking for on the EvilWalrus Group website - a script by Mukul Sabharwal that does far more than I wanted, right down to displaying graphs.
All I wanted was the current price and how much it had changed during the day, so I had a lot of code stripping to do. Here's what I ended up with:
- $fd = fopen ("http://quote.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d1t1c1ohgv&e=.csv", "r");
- $contents = fread ($fd, 200);
- fclose ($fd);
- $contents = str_replace ("\"", "", $contents);
- $contents = explode (",", $contents);
- echo "<ul><li>Apple stock tracker. Most recent trade: <b>\$$contents[1]</b>. Change: $contents[4]. (Prices delayed up to 20 minutes.)</li>";
The first line opens the AAPL record on the quotes.yahoo.com website and reads it. $contents = str_replace ("\"", "", $contents); goes through the data and strips out quote marks. The next line "explodes" commas, which means it turns every comma into a field delimiter.
The only fields I'm interested in are 1 (the last traded price) and 4 (how much Apple stock has moved up or down today). And the LEM home page now displays that information - generated each time someone visits the home page.
One less thing to update manually, and one more thing to put on
the Apple Quicklinks site when I have a chance.
Join us on Facebook. Follow us on Twitter.
Recent Online Tech Journal Columns
- Optimized Software Builds Bring Out the Best in Your Mac, 2009.06.30. Applications compiled for your Mac's CPU can load more quickly and run faster than ones compiled for universal use.
- Low End Mac's Safe Sleep FAQ, 2009.06.15. What is Safe Sleep mode? Which Macs support it? How can you enable or disable it? And more.
- The Original Macintosh, 2009.01.12. An in-depth look at the original Macintosh and how it shaped future Macs.
- More in the Online Tech Journal index.
Links for the Day
- Mac of the Day: Macintosh Portable, introduced 1989.09.20. The nearly 16 lb. behemoth was innovative but not a smashing success.
- February 13 in LEM history: 01: Layoffs may hurt Mac market - 02: Unix for the Mac - Rage against the Macintosh - 03: Options to move data from PCs to Macs - 04: Low cost RAM for older 'Books - 06: Apple, IBM, and Intel - 07: Picking the right cheap computer, new or used - 08: I needed to find an older Mac
- Support Low End Mac
Recent Content on Low End Mac
- Fix Home Button Delay, Tablet the Ultimate Mobile PC, iPad Notebook a Possibility, and More, iOS News Review, 2012.02.10. Also using your iPad at work, two photo editors, a new iPad text editor, Macally's magnetic iPad 2 stand, and more.
- White MacBook Goes End-of-Life, Logitech Touch Mouse Supports Gestures, Firmware Updates, and More, The 'Book Review, 2012.02.10. Also MacBook Air better than any Ultrabook, docks for MacBook Pro models, Intel offers improved SSDs, and more.
- Mac and iOS Browsers: Options Galore, Freeware Forum, 2012.02.10. Safari is adequate on Mac and great on iOS, but the range of good alternatives is stunning. LEM writers share their favorites.
- Apple's Support Lead Shipping, Smartphones Outsell PCs, OS X Ported to ARM by Intern, and More, Mac News Review, 2012.02.10. Also the power of Tex-Edit Plus, Google and Twitter are already censoring the Web, Snow Leopard Security Update, and more.
- LogMeIn: Remote Screen Sharing for the Rest of Us, Alan Zisman, Zis Mac, 2012.02.09. Configuring the Mac's built-in screen sharing to work over the Internet can be difficult or impossible. LogMeIn makes it easy.
- 15 Years Ago Motorola Unveiled the PowerPC G3, Low End Mac Round Table, 2012.02.06. The G3 processor was optimized for real world Mac software and made a big leap forward in efficiency.
- Don't Kill Caps Lock, Learning to Love the iOS Keyboard, and an Adaptive iPad Keyboard, Charles W. Moore, Miscellaneous Ramblings, 2012.02.06. The Caps Lock key has a useful function, the iPad's keyboard really is useful, and checking out an adaptive keyboard for the iPad.
- More links in our archive.
Recent Deals
- Best MacBook Air Deals
- Best iBook G4 Deals
- Best iPad Deals
- Best Classic Mac OS Deals
- Best Apple TV Deals
- Best 15" MacBook Pro Deals
- Best Power Mac G4 Deals
- Best Mac OS X 10.6 Deals
- More deals in our archive.
About LEM Support Usage Privacy Contact
Follow
Low End Mac on Twitter
Join Low End Mac
on Facebook
Low End Mac Reader Specials
TypeStyler 11 is now in the Mac App Store!! -- Special Introductory Price of $59.95!! -- To Buy From The Mac App Store Click Here Now!! Or buy direct
from Strider Software.
Don't install Parallels to play poker online! Poker Mac will show you how to download and install a native Mac poker and Mac Casino applications in minutes.
Favorite Sites
MacSurfer
Cult of Mac
Shrine of Apple
MacInTouch
MyAppleMenu
InfoMac
The Mac Observer
Accelerate Your Mac
RetroMacCast
PB Central
MacWindows
The Vintage Mac Museum
DealMac
Deal Brothers
Mac2Sell
Mac Driver Museum
JAG's House
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ
Affiliates
Amazon.com
The Apple Store
The iTunes Store
PC Connection Express
GainSaver
Parallels Desktop for Mac
eBay

