haber lo veo complicado, no creo puedas hacer bien el ordanamiento si no ingresas una fecha tipo date como deberia ser, mira si solo quieres mostrar el dia y mes, es independiente que guardes el año tambien te recomiendo.....
en tu form tienes dos campos dia - mes para dia por ejemplo enviamos 03 y mes 11 ok. hasta aki como lo tienes supongo....
luego tu juntas estas variables tipo ....
Código PHP:
$fecha = "$_POST[dia]/$_POST[mes]";
/*cierto y guardas
INSERT INTO tabla ....fecha Values '$fecha') por decir */
bueno yo te recomiendo pasar el campo varchar que tienes a date.. tipo año-mes-dia
entonces harias algo como esto al guardar...
Código PHP:
$anyo = date("Y");
$fecha = "$anyo-$_POST[mes]-$_POST[dia]";
y guardas $fecha en el campo date ok...
te quedaria guardado el año mes y dia, obiamente el formato es solo para ordenar tu solo quieres el dia y el año...
ahora teniendo este formato en base de datos es imple ordenar como te lo propuse arriba....
y si solo quieres mostrar el dia y año de cada fecha haces
Código PHP:
$sql = mysql_query("SELECT * FROM tabla ORDER BY fecha DESC"); //descendente
//ASC es ascendente, te veras como ordenas...
//y luego si quieres mostrar dia y mes ocupamos substr por ejemplo para cortar
while ($datos = mysql_fetch_array($sql))
{
$dia = substr($datos[fecha], 8, 2)
$mes = substr($datos[fecha], 5, 2)
echo "$dia/$mes";
}
espero se entienda seria una forma correcta de trabajar las cosas
espero te sirva saludos