First of all you need to update your table, so that it only contains one column for the date, and this column should be of the type integer. In this col you should store a Unix-style timestamp. This, of course, forces you to update all rows with it's new timestamp, instead of it's old three column date.
To do this, it might be handy to use this function:
http://www.php.net/manual/en/function.mktime.php
If you simply add a column to your table, the create a script that updates each row, there's no need for manual labor 🙂
Update your query by adding this to the end of it:
[FONT=courier new]ORDER BY timestamp[/FONT]
This sorts the returned row by the timestamp in ascending order (the timestamps is the number of seconds since January 1st 1970 00:00:00). This creates a neatly sorted list with the first courses first.. If you automatically want to remove any courses that already started, you could do it like this:
$current_timestamp = time();
$query = "SELECT * FROM course_table WHERE timestamp > '$current_timestamp' ORDER BY timestamp;";
//perform the query
When you generate the output, you have to convert the timestamp to a human readable format, ie by using [FONT=courier new]date()[/FONT]
$date = date("F tS Y", $row['timestamp']);
This ought to do it 🙂
Good luck,
Olle