Yo lo haría en dos fases: primero obtengo los datos y luego agrupo en php:
Supongamos tabla "Eventos" con campos "fecha" y "evento"
Código PHP:
$res=mysql_query("SELECT * FROM eventos ORDER BY fecha");
while ($row = mysql_fetch_assoc($result)) {
$eventos[$row['fecha']][]=$row['evento'];
}
Así, tendríamos agrupados los eventos en el array $eventos. Para imprimirlos (teniendo en cuenta lo de los 15 eventos por fecha):
Código PHP:
foreach ($eventos as $fecha=>$events){
echo "$fecha<br/>";
$nevents=1;
foreach ($events as $e){
echo "$e<br/>";
$nevents++;
if ($nevents>15) break;
}
}
Espero que te haya servido de ayuda