You might want to consider using a single query for this. Queries are expensive on timing, so get into good habits now, the database engine is great at answering big questions, but the more individual questions you ask it, the harder it has to work. Also consider re-naming some of your fields, since "Date" is a reserved word on some systems.
The query should be :
SELECT date,
event
FROM testtable
ORDER BY date ASC;
Then as you're rifling through the results, keep track of the old date in a variable. Each time you move on to the next record, check to see if the date is different, then output a new row if necessary and reset your variable to show the current date.
So if the date is the same as the last, then the separator is a comma (or whatever), but if it's different then you make a whole new row.
Hope that helps...