Detta är grundläggande php. Du skulle helt enkelt fråga DB för händelsedetaljerna innan sidhuvuden skrivs och skriva HTML-koden därefter.
Det första jag skulle vilja fråga dig är om du vet hur du ansluter till din databas. Därifrån frågar du utifrån $_GET['id']-värdet och använder resultaten för att fylla i din html.
Inte för att vara oförskämd, men frågan i sig antyder att du är ny på PHP, eller hur? Så för att kunna erbjuda en lösning som fungerar kanske vi vill veta hur långt du har kommit.
Du kan också skriva om dina dynamiska webbadresser så att de ser ut som statiska med apaches mod_rewrite. Det är förmodligen en grej på nybörjarnivå om du är intresserad av "snygga" webbadresser.
ÄNDRAD SVAR:
I din loop skulle du använda id från frågeresultatet (förutsatt att din primära nyckel är id)...
while($field = mysql_fetch_array($result)) {
echo "<p class='date'>";
echo $field['month']." ".$field['day'].", ".$field['year'];
echo "</p>";
echo "<h3>";
echo '<a href="/somepage.php?id='.$field['id'].'">'.$field['event_name'].'</a>';
echo "</h3>";
}
Sedan på somepage.php skulle du använda get var id för att hämta relevant information...
$result = mysql_query("SELECT * FROM `calendar` WHERE `id` = '".mysql_real_escape_string($_GET['id'])."');
glöm inte att titta på mysql_real_escape_string() för att rensa poster.