Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ORDER BY dos elementos. Lo hace mal, ordena strings??

Estas en el tema de ORDER BY dos elementos. Lo hace mal, ordena strings?? en el foro de Mysql en Foros del Web. Pues veo que funciona cuando tiene que ordenar por Id, pero cuando le meto esto: Código PHP: $modo  ( después de un  switch)  es  =  'tipo' $datos  ...
  #1 (permalink)  
Antiguo 13/03/2008, 06:35
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 2 meses
Puntos: 2
Exclamación ORDER BY dos elementos. Lo hace mal, ordena strings??

Pues veo que funciona cuando tiene que ordenar por Id, pero cuando le meto esto:

Código PHP:
$modo (después de un switch) es 'tipo'
$datos mysql_query('SELECT id,nombre,tipo,mini_desc,destacado FROM alojamientos WHERE confirmado=1 ORDER BY destacado,'.$modo.); 
me devuelve:

albergue
hostal
rural
bungalow


!!!


y el campo tipo es:

enum('rural', 'hotel', 'hostal', 'balneario', 'camping', 'albergue', 'apartamento', 'bungalow', 'parador', 'otros')



ahora que lo estoy mirando... no habrá que ordenarlos en la enumeración tb?..

No. veo que no.
Pues lo hace mal. No entiendo por qué!
__________________
Darkgaze
  #2 (permalink)  
Antiguo 13/03/2008, 06:37
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: ORDER BY dos elementos. Lo hace mal, ordena strings??

He añadido más para probar y esto es aún peor. mirad como ordena. xD

parador
bungalow
albergue
albergue
hostal
rural
__________________
Darkgaze
  #3 (permalink)  
Antiguo 14/03/2008, 04:13
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: ORDER BY dos elementos. Lo hace mal, ordena strings??

Que tienes en "destacado" ?

ORDER BY destacado,'.$modo.);

Esto ordenarà primero por "destacado" y luego por el contenido de $modo que dices que se tipo.

Supongamos que tienes:

Destacado

0
1
2

Tipo

parador
bungalow
albergue
albergue
hostal
rural

esta seria una respuesta buena

Destacado..|Tipo
...................|....................
0.................|parador
1.................|bungalow
2.................|albergue
2.................|albergue
2.................|hostal
2.................|rural

Te parece lógico?

Quim
  #4 (permalink)  
Antiguo 14/03/2008, 04:31
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: ORDER BY dos elementos. Lo hace mal, ordena strings??

Ya sé lo que pasaba!.

Es que ordena según la enumeración...lo comprobé por segunda vez y así fue!.

Ordena según la enumeración, así que coloqué alfabéticamente y funcionó.


menos mal...

Gracias por la ayuda
__________________
Darkgaze
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:04.