Foros del Web » Programando para Internet » PHP »

Problema en ordenar por fecha

Estas en el tema de Problema en ordenar por fecha en el foro de PHP en Foros del Web. Supongamos que tengo la siguiente tabla URL-----------------------fecha---------------id primera-pagina--------2012-01-10--------1 primerax-pagina--------2012-02-10--------2 primerae-pagina--------2012-03-10--------3 primerar-pagina--------2012-04-10--------4 primeraa-pagina--------2012-01-01--------5 primeraz-pagina--------2012-05-10--------6 tengo un formulario que me ayuda a editar la fecha de la ...
  #1 (permalink)  
Antiguo 03/06/2012, 19:39
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 9 meses
Puntos: 4
Problema en ordenar por fecha

Supongamos que tengo la siguiente tabla

URL-----------------------fecha---------------id
primera-pagina--------2012-01-10--------1
primerax-pagina--------2012-02-10--------2
primerae-pagina--------2012-03-10--------3
primerar-pagina--------2012-04-10--------4
primeraa-pagina--------2012-01-01--------5
primeraz-pagina--------2012-05-10--------6

tengo un formulario que me ayuda a editar la fecha de la publicación...por eso el penultimo registro tiene la fecha primera (ojala que me entiendan.. entonces cuando voy a paginar los resultados lo ordeno por fecha descendente (3 por página)

ORDER BY fecha DESC LIMIT $inicio, $por_pagina;

entonces en la primera página me muestra ordenado los 3 primeros registros... pero en la segunda sale la fecha primera (penúltimo, id 5)... lo que quiero es que esta fecha vaya en la primera pagina de los resultados y no en la segunda.. no se si me entienden...
  #2 (permalink)  
Antiguo 03/06/2012, 20:54
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 13 años, 2 meses
Puntos: 48
Respuesta: Problema en ordenar por fecha

No te entendi nada.....

Digamos que tienes una tabla con una sola columa que se llama fecha y que esa tabla tiene ingresada las siguientes fechas:
2012-01-10
2012-02-10
2012-03-10
2012-04-10
2012-01-01


ya ahora explica que quieres hacer con esas fechas.
Lo poco que entendi es que quieres traer 3 filas por pagina

SQL para la Pagina 1:
Select fecha from tabla order by fecha DESC Limit 0,3

SQL para la Pagina 2:
Select fecha from tabla order by fecha DESC Limit 3,3

Explicate un poco mejor para que se entienda lo que quieres hacer :P
  #3 (permalink)  
Antiguo 03/06/2012, 23:01
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Problema en ordenar por fecha

Exacto.. .. lo que pasa es que al llamar los tres registros (los llamo por orden de fecha)

los primeros registros:
2012-01-10
2012-02-10
2012-03-10

sale: (por orden de fecha descendente)

2012-03-10
2012-02-10
2012-01-10


y en la siguiente página (2)

los ultimos registros:
2012-04-10
2012-01-01
2012-05-10

sale:
2012-05-10
2012-04-10
2012-01-01


(como vemos en el primero hay dos fecha mayor a la de la primera página, por lo que estos registros deben salir en la primera página y no en la segunda)


ahora, si lo mostramos por completo (sin paginar los resultados) saldría: (aquí si ordenadamente...)

2012-05-10
2012-04-10
2012-03-10
2012-02-10
2012-01-10
2012-01-01


me dejo entender?? =/
  #4 (permalink)  
Antiguo 04/06/2012, 00:06
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 13 años, 2 meses
Puntos: 48
Sonrisa Respuesta: Problema en ordenar por fecha

Ok..... tu dices que en la pagina 1 te tira:
2012-03-10
2012-02-10
2012-01-10


y en la pagina 2:
2012-05-10
2012-04-10
2012-01-01


y que deveria mostrar:
pagina 1:
2012-05-10
2012-04-10
2012-03-10

pagina 2:
2012-02-10
2012-01-10
2012-01-01


Lo que se me ocurre es que tu Consulta estaria mal hecha y que no te diste cuenta .....

Por que para que te entregue los resultados de esa forma tendrias que tener algo como esto:
(SELECT * FROM fechas order by id ASC limit 0,3) order by fecha DESC

Mira la imagen que subi de ejemplo:
http://imageshack.us/photo/my-images/62/ejemplox.jpg/
  #5 (permalink)  
Antiguo 04/06/2012, 00:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Problema en ordenar por fecha

Pues en la imagen no sale ordenado la fecha...

LIMIT 0,3 sale

pagina 1
2012-03-10
2012-02-10
2012-01-10

LIMIT 3,3 sale

pagina 2

2012-05-10
2012-04-10
2012-01-01

a lo que debería ser:

página 1 (LIMIT 0,3)

2012-05-10
2012-04-10
2012-03-10

página 2 (LIMIT 3,3)

2012-02-10
2012-01-10
2012-01-01

Lo que hice fue ordenar primero por fecha descendente.. hasta ahí bien, pero el problema esta cuando coloco LIMIT 0,3 (ya que el LIMIT AGARRA LOS 3 REGISTROS POSTERIORES SIN IMPORTAR QUE ESTÉ ORDENADO POR FECHA, eso creo)
  #6 (permalink)  
Antiguo 04/06/2012, 00:39
 
Fecha de Ingreso: febrero-2011
Mensajes: 233
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Problema en ordenar por fecha

Ya lo solucioné...

Código MySQL:
Ver original
  1. (SELECT * FROM prueba order by fecha DESC) order by fecha DESC  limit $inicio, $por_pagina;


gracias...

Última edición por tonydx16; 04/06/2012 a las 01:06
  #7 (permalink)  
Antiguo 04/06/2012, 01:25
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 13 años, 2 meses
Puntos: 48
Respuesta: Problema en ordenar por fecha

La imagen era un ejemplo con la forma incorrecta que te daba ..... porque pense que podias tener algo similar a eso( y de esa forma se justificaria que te diera ese resultado).

Que bueno que lo resolvieras..... pero que forma mas rara de resolverlo.... xD

Etiquetas: fecha, formulario, registro, tabla
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:06.