Hazlo con un arreglo tridimensional ordenado por mes-indice.
Algo como esto:
Código PHP:
//evento 1
$datosCalendario['Enero']['dias'][0];
$datosCalendario['Enero']['lugar'][0];
$datosCalendario['Enero']['evento'][0];
//evento 2
$datosCalendario['Enero']['dias'][1];
$datosCalendario['Enero']['lugar'][1];
$datosCalendario['Enero']['evento'][1];
//evento 3
$datosCalendario['Enero']['dias'][2];
$datosCalendario['Enero']['lugar'][2];
$datosCalendario['Enero']['evento'][2];
//algo asi para llenarlo:
while($data = mysql_fetch_array($result)){
$datosCalendario[$data['mes']]['dias'][] = $data['dias']<>''?$data['dias']:"-";
$datosCalendario[$data['mes']]['lugar'][] = $data['lugar']<>''?$data['lugar']:"-";
$datosCalendario[$data['mes']]['evento'][] = $data['evento']<>''?$data['evento']:"-";
}
Puse los if para la asignacion para que cuando no haya info en algun campo, le ponga un -.
Suerte