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

Order by ??

Estas en el tema de Order by ?? en el foro de Mysql en Foros del Web. Buenas tardes. Tengo una base de datos hecha en mysql y hago consultas a la misma. Lo que pasa es que a pesar de que ...
  #1 (permalink)  
Antiguo 12/09/2012, 13:32
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Exclamación Order by ??

Buenas tardes.
Tengo una base de datos hecha en mysql y hago consultas a la misma.
Lo que pasa es que a pesar de que funciona perfectamente, cuando le digo que ordene por el número de la calle , la consulta me refleja todos los registros que tengo en la calle camelias ordenados por la id de la base de datos.
Mi campo numero esta en varchar con una longitud de 280. Que deberia de poner o cambiar en este campo cuando hago la consulta?.

ORDER BY numero ASC ";

.Agradeceía vuestra opinion.
Muchas gracias
  #2 (permalink)  
Antiguo 12/09/2012, 13:36
Avatar de esteban_dc  
Fecha de Ingreso: septiembre-2012
Ubicación: México, D. F., Mexico
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 3
Respuesta: Order by ??

Cita:
ORDER BY numero ASC ";
eso ordenaría correctamente en orden ascendente, intenta cambiar el campo de tu tabla a integer
  #3 (permalink)  
Antiguo 12/09/2012, 13:37
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Order by ??

el campo numero deberia ser de tipo numerico (INT, SMALLINT...) si realmente va a contener números
  #4 (permalink)  
Antiguo 12/09/2012, 13:41
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Order by ??

muchas gracias a los dos.
He cambiado a INT y a SMALLINT y no me refleja nada. solo tengo numeros en ese campo y no entiendo como puede pasar esto. Q podria ser?
  #5 (permalink)  
Antiguo 12/09/2012, 13:47
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Order by ??

he puesto INT CON longitud 11 y todo sigue igual
  #6 (permalink)  
Antiguo 12/09/2012, 13:51
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Order by ??

Entonces el problema debe estar en otro sitio. ¿nos enseñas más código?
  #7 (permalink)  
Antiguo 12/09/2012, 13:53
Avatar de esteban_dc  
Fecha de Ingreso: septiembre-2012
Ubicación: México, D. F., Mexico
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 3
Respuesta: Order by ??

No se como hagas tu query pero así es como debería ser
Código:
SELECT * FROM TABLA ORDER BY numero ASC
  #8 (permalink)  
Antiguo 12/09/2012, 13:53
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Order by ??

esta es la consulta josss

$_pagi_sql = "SELECT * FROM establecimientos WHERE marca LIKE '%".$nombre."%' OR direccion LIKE '%".$nombre."%' OR localidad LIKE '%".$nombre."%' ORDER BY localidad='vigo', direccion, numero ASC ";

GRACIAS
  #9 (permalink)  
Antiguo 12/09/2012, 13:57
Avatar de esteban_dc  
Fecha de Ingreso: septiembre-2012
Ubicación: México, D. F., Mexico
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 3
Respuesta: Order by ??

Código:
$_pagi_sql = "SELECT * FROM establecimientos WHERE marca LIKE '%".$nombre."%' OR direccion LIKE '%".$nombre."%' OR localidad LIKE '%".$nombre."%' ORDER BY numero ASC ";
Nota: Como recomendación agrega mysql_real_escape_string a tus querys para evitar SQL Injection
Salu2
  #10 (permalink)  
Antiguo 12/09/2012, 14:05
 
Fecha de Ingreso: agosto-2012
Ubicación: vigo
Mensajes: 84
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Order by ??

muchas gracias por tu ayuda
  #11 (permalink)  
Antiguo 12/09/2012, 14:23
Avatar de esteban_dc  
Fecha de Ingreso: septiembre-2012
Ubicación: México, D. F., Mexico
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 3
Respuesta: Order by ??

De nada, tu error estaba en el ORDER BY, no te lo repare pero por si acaso aquí esta :p


"SELECT * FROM establecimientos
WHERE (marca LIKE '%".$nombre."%')
OR (direccion LIKE '%".$nombre."%')
OR (localidad LIKE '%".$nombre."%')
AND (localidad='vigo')
ORDER BY numero ASC";
  #12 (permalink)  
Antiguo 12/09/2012, 14:26
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: Order by ??

Si quisieras ordenar primero por direccion y luego por numero:
Código PHP:
Ver original
  1. $_pagi_sql = "SELECT * FROM establecimientos WHERE marca LIKE '%".$nombre."%' OR direccion LIKE '%".$nombre."%' OR localidad LIKE '%".$nombre."%' ORDER BY direccion, numero ASC ";

Etiquetas: order, registro
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 13:24.