I'm not quite sure I even understand the problem.
At this time, the announcement are in a forum. You have to refresh the forum to get the latest data.
Create a small PHP app, combined with a database. You still have to refresh the page to get the latest data (i.e. someone inserted a new event while you're reading, and you want the update). This application is, if you look technically at it, the same thing as the forum. Only difference would be that this application is especially built to list events in a sensible way (i.e. not displaying events thats already over, show the first coming event at the top of the list etc).
In general, using http, there are no ways to automatically refresh the page whenever data elsewhere updates. The options are;
1) Constantly check if the remote data has changed, if it has, update.
2) Have the remote server contact the "clients" when a new update is recieved, and the client will reload data from server.
3) Have a persistant connection to the server. The client & server is communicating from start to end, and new updates are recieved by clients on-the-fly.
The third technique requires Java (both client and server side).
Unfortunally the second technique is not suited for http. You have to invent a mechanism doing this (i.e. writing a specific client&server-side application, requiring user to have a real ip address etc etc).
The first solution, however, can be done in javascript. If you have two frames, one called "main" and one called "refresh" (for example).
main would show the contents of list.php, and refresh would show the contents refresh.php. In refresh.php, you'd do the following;
1) Grab information about the newest event in db
2) check variable 'newestEvent' against the ID number of the actual newest event fetched from DB (see pt. 4)
3) If different, output javascript code to refresh the main window (a new event has been registered), else do nothing
4) output a meta-tag that refreshes (to refresh.php?newestEvent=<eventid>) in N seconds (5, 10, however often you want to check)
At first refresh, the event id would be different, so you might want to pass 'newestEvent' along from your index-file to avoid blinking. Another problem with this technique is that each time the 'refresh' frame refreshes, a click can be heard in IE. (and ofcourse the viewers browser has to support frames and javascript).
Other than this, I can't come up with any sensible solutions.
Like I said, I'm not even sure I understood the question. Hope the answer helped though ;-)