Well, its not a big deal, your code is pretty clean. But if you add [ php ] without the spaces - as in with the brackets right next to the php, it displays everything color coded and properly spaced etc. Feel free to click the edit button on your post and try it out. Just click the PHP button in the formatting row above the data entry box. Type an X and hit enter. Cut your code and paste it in place of the X.
Anyway, I would think both pages would want to be in chronological order. Simple change
$sql = " SELECT * FROM schedule ";
to
$sql = " SELECT * FROM schedule ORDER BY date";
if 'date' is the name of the column with the dates in it. You can also add ASC or DESC after date to specify which direction to list in. Then, to just get the first 3 for the front page listing, add a LIMIT clause to it, like so:
$sql = " SELECT * FROM schedule ORDER BY date ASC LIMIT 0, 3";
The LIMIT simply means, "Start at 0 (which is the first record in your database, thats just how DBs order stuff) and give me the first 3 results.
My code is untested, so I might have missed a comma or something, but if you have any trouble, I'll have to double check it after work. I don't have all my files with me.
If your dates are entered in an odd format, they may not order correctly. We can look at that later too.
Cheers,
Jason