la verdad casi no entendí!!!! pero creo que tu problema es de ordenación!!! ¿¿verdad??
pues bien porque no lo intentas desde la db??? por ejemplo en MySQL se utiliza al final de toda la sentencia....
ORDER BY campo1, campo2,..... (ASC ó DESC)
ASC ascendente y DESC descendente
Depronto creo yo que ordenando los resultados desde la DB no tengas que matarte en PHP tratando de ordenarlos!!!
Me avisa si te sirvio mi comentario!!!