Para ordenar según varios criterios sólo tienes que poner
Código PHP:
SELECT FROM $tabla ORDER BY ($campo_año DESC, $campo_mes DESC, $campo_día DESC);
Así te ordenaría las fechas de manera descendente es decir, la más antigua iría la última y la más moderna la primera.
Luego deberías utilizar un SPRINTF que guardase en una variable la fecha dándole formato y para mostrarlas o no utilizaría un bucle WHILE, de manera que lo mostrase:
Código PHP:
while ($vble < $fecha_actual) {
echo $vble;
}
espero que te sirva de algo