El problema está en que estás leyendo un sólo registro...
$fila=mysql_fetch_array($consulta) lee solamente el primer registro del resultado de la consulta y mueve el puntero al siguiente...por eso hay que ejecutar esta misma línea tantas veces como registros tenga el resultado de la consulta.
Debes utilizar un bucle tipo WHILE así:
Código PHP:
while($fila=mysql_fetch_array($consulta)){
//Cada pasada de este bucle, va leyendo un registro nuevo.
}
Saludos