Foros del Web » Programando para Internet » PHP »

[Duda]Como ordenar por fechas de forma separada

Estas en el tema de [Duda]Como ordenar por fechas de forma separada en el foro de PHP en Foros del Web. es mas complejo que solo ordenar la duda que tengo, por que creo que para odenar solo tendria que poner "... order by month(fecha completa) ...
  #1 (permalink)  
Antiguo 29/09/2008, 03:36
 
Fecha de Ingreso: marzo-2008
Ubicación: En casa
Mensajes: 252
Antigüedad: 16 años, 8 meses
Puntos: 4
[Duda]Como ordenar por fechas de forma separada(resuelto)

es mas complejo que solo ordenar la duda que tengo, por que creo que para odenar solo tendria que poner "... order by month(fecha completa) desc"

he leido un poco por aqui y e empezado por adapatar la base de datos combirtiendo los campos varchar en date, y haciendo que los datos se introduzcan de forma correcta, hasta aqui todo bien.

Luego quiero ordenar por fecha los resultados mensualmente.

vamos que si pongo 2008-07-01 // 2008-09-30 en la query que hago
Quisiera que me mostrara los resultados pero separados por los meses.

algo como:
POST AUTOR 2008-07
La patata Pepe
La cebolla Joselito

POST AUTOR 2008-08
La patataII Pepe
La cebollaII Joselito

POST AUTOR 2008-09
La patataIII Pepe
La cebollaIII Joselito

como haria para que me separara los resultados por los meses correspondientes en la busqueda ?
Esque la forma que uso ahora tiene la fecha completa y me gustaria hacerlo asi para separarlo en tablas y que sea mas facil y mas rapido de ver.
__________________
Ayudar cuesta mucho, dar las gracias no tanto, tenlo en cuenta siempre.

Última edición por No-NaMe; 13/10/2008 a las 04:35
  #2 (permalink)  
Antiguo 29/09/2008, 04:54
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Respuesta: [Duda]Como ordenar por fechas de forma separada

Dos opciones:
1. Agregar la condicional a tu query para limitar los resultados a un determinado mes. Tendrías que ejecutarla cada que lo requieres, pero te será más simple manejar la información.

2. Traer todos los resultados tal como lo haces ahora y con PHP distinguir el cambio de mes, para ello tendrías que parsear la fecha y guardar un valor temporal como bandera para detectar el cambio. ¿realmente necesitas recuperar toda la información?.

En una situación "general", ve por la primera manera, es simple y te permitirá un mejor control de la información.

Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 29/09/2008, 05:08
 
Fecha de Ingreso: marzo-2008
Ubicación: En casa
Mensajes: 252
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: [Duda]Como ordenar por fechas de forma separada

Hombre es que para hacer que me muestre solo los de un mes prefiero revisar la fecha, y ver en que mes se han realiazdo, mas que nada me interesa hacerlo de la segunda manera, porque luego podria ponerle otras condicionales a la query para que asi me muestre por ejemplo los post que tratan de informatica.

lo de las fechas las manejo con between pero como uso el falg para distinguir meses ?
__________________
Ayudar cuesta mucho, dar las gracias no tanto, tenlo en cuenta siempre.
  #4 (permalink)  
Antiguo 29/09/2008, 05:44
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Respuesta: [Duda]Como ordenar por fechas de forma separada

Con imaginación
Código PHP:
$fecha 'dd-mm-YYYY';
list(
$dia$mes$anyo) = explode('-'$fecha); // así para separar el dato
// solo por mencionarlo, igual puedes extraer solo el mes de tu BD si no requieres la fecha



// Por acá habría un bucle antes
if($bandera != $mes) {
    
// Entonces, es un nuevo mes
    // Haces lo que tengas que hacer y ahora tu bandera será "el mes actual"
    
$bandera $mes
} else {
    
// Sigues dentro del mismo mes, sigues en la misma ... ¿tabla?
}
// y por acá terminaría el bucle 
A muy grandes rasgos, nada funcional pero la idea ahí está. Solo comparas mes e identificas el cambio, no es nada complicado. Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 13/10/2008, 04:30
 
Fecha de Ingreso: marzo-2008
Ubicación: En casa
Mensajes: 252
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: [Duda]Como ordenar por fechas de forma separada

Código PHP:
for ($falg $mes; ;$mes++) {
if (
$mes $mes2) {break;}
$flager="$anyo-$mes-$dia";
$fgl=$mes+1;
$flager1="$anyo2-$fgl-$dia2";
$sql=mysql_query ("SELECT * FROM post WHERE fecha BETWEEN '$flager' AND '$flager1'");
while (
$data mysql_fetch_assoc($sql)){
aqui es donde pongo las cosillas que quiero en funcion de lo que quiera saverautortematags mas usados...}}
?> 
Asi es como lo e resuelto al final, muchas gracias por las acalaraciones, lo dejo aqui por si a alguien le sirve.

Un saludo (si encontrais errores o no se entiende muy calro preguntar sin miedo, que esto a sido un poco improvisacion, y siempre se puede pulir el codigo)
__________________
Ayudar cuesta mucho, dar las gracias no tanto, tenlo en cuenta siempre.
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 14:08.