La verdad es que no entiendo muy bien el tipo de programa que estás haciendo pero bueno te puedo dar algunos comentarios sobre el código que estoy viendo y cómo haría yo lo que he entendido que quieres hacer.
Pero te voy a dejar algunos comentarios para ver si empezamos a orientarte.
Yo creo que puedes gestionar el tipo de consulta desde php y no directamente en mysql. Es decir que depende de lo que te pongan los usuarios puede acudir a un tipo de consulta o a otra. Piensa en ello, la opción mostrar puede ser un (ordenar por fecha, ordenar por nombre del grupo, ordenar por...) Por ejemplo.
Más cosas, al hacer la consulta mysql veo que sacas los valores de la BD a través de índices numéricos, eso está bien y es óptimo si sólo utilizas índices numéricos, pero te va a dificultar la faena mientras haces el código y por lo que veo trabajas con los dos tipos de índices porque usas
mysql_fetch_array. Podrías poner por ejemplo los registros de esta forma:
Código PHP:
echo $registro['nombre'] . " - " . $registro['dia'] . "/" . $registro['anno']... // por ejemplo
Más cosas, para guardar las fechas hay muchos procedimientos, yo personalmente utilizo el mktime y guardo todo en un solo campo int(11) cuando lo introduzco en la base de datos lo convierto y cuando lo saco le doy el formato que quiero con la función date:
Código PHP:
$fecha_mostrar = date("d/m - H:i ", $fecha);
Me olvidaba. Puedes comprobar también si una variable está vacía con el
empty($variable)
Y bueno, podemos ir comentando y a ver si conseguimos arreglarte el problema