Estás ordenando por tres campos y el número es sólo el último.
Código MySQL:
Ver original marca
LIKE '%".$nombre."%' OR direccion
LIKE '%".$nombre."%' OR localidad
LIKE '%".$nombre."%' localidad='vigo',
direccion,
Eso significa que primero se evaluan los otros dos criterios, y recién cuando se encuentre un caso en el que el a
mbos datos sean exactamente iguales, a ese par los ordena según el número.
Por otro lado, ¿me puedes decir que se supone que quieres hacer al poner en el ORDER BY esto?:
Jamás he visto que alguien ponga eso allí.
¿Cuál es la idea?