Foros del Web » Programando para Internet » PHP »

mysql >> ordenar segun fecha y hora

Estas en el tema de mysql >> ordenar segun fecha y hora en el foro de PHP en Foros del Web. Hola buenas :) Os cuento mi "problemilla": Quiero realizar una consulta a una bbdd mysql y que la ordene según dos campos (fecha y hora). ...
  #1 (permalink)  
Antiguo 30/12/2002, 13:52
Avatar de McClane  
Fecha de Ingreso: diciembre-2002
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
mysql >> ordenar segun fecha y hora

Hola buenas :)
Os cuento mi "problemilla": Quiero realizar una consulta a una bbdd mysql y que la ordene según dos campos (fecha y hora). La sentencia que uso es la siguiente:
Código PHP:
$result=mysql_query("select id,izenburua,data,ordua from $taula order by data desc limit 100"); 
No hay ningún error, pero claro, sólo me la ordena segun la fecha (data). En cambio, si le añado && ordua (hora), me la ordena según el último campo...
Código PHP:
$result=mysql_query("select id,izenburua,data,ordua from $taula order by data && ordua desc limit 100"); 
...y claro, quiero que las ordene según los dos campos.
Ahora, la pregunta es: ¿Qué sentencia debo de usar para que me ordene los datos por fecha y hora respectivamente?
  #2 (permalink)  
Antiguo 30/12/2002, 14:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y porqué no usas un campo tipo DATETIME en tu tabla SQL ..?¿

Con eso tienes la fecha y hora en un mismo campo . .puedes formatear su salida usando DATE_FORMAT() (funcion de Mysql) .. ademas de poder gestionar las fechas de forma "standar" (el DATETIME guarda la hora/fecha en formato ODBC) ademas de usar las numerosas funciones de Mysql para formatear fechas y/o gestionarlas ...

Campos tipo fecha:
http://www.mysql.com/doc/en/Date_and_time_types.html

Funciones de tratamiento de fechas (en Mysql):
http://www.mysql.com/doc/en/Date_and...functions.html

Podrias revisar tambien el manual de Mysql sobre ORDEN By:
http://www.mysql.com/doc/en/SELECT.html
http://www.mysql.com/doc/en/ORDER_BY_optimisation.html

Los campos en un ORDEN By son separados por comas .. ademas que puedes indicar tambien el sentido de cada uno (ASC, DESC) segun convenga ..

Un Saludo,
  #3 (permalink)  
Antiguo 30/12/2002, 14:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Date una vuelta por www.mysql.com y revisa la sintaxis de los order by. Veras que debes separar los distintos campos por los que quieres ordenar por comas. Asi:
Código PHP:
$result=mysql_query("select id,izenburua,data,ordua from $taula order by data desc, ordua desc limit 100"); 
Con esto te ordena descendientemente primero por fecha y luego por hora. Poniendolos al reves, se ordenan por hora descendiente y luego por fecha.

La proxima vez asegurate de que estas usando la sintaxis correcta. Mira el manual.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 30/12/2002, 15:53
Avatar de McClane  
Fecha de Ingreso: diciembre-2002
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
Sonrisa yasta :D

Ya está lo que quería, muchas gracias a los dos x)
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 21:10.