Foros del Web » Programando para Internet » PHP »

Ordenar año/mes/apartir de un dia

Estas en el tema de Ordenar año/mes/apartir de un dia en el foro de PHP en Foros del Web. Hola, tengo una bd en la que guardo los dias en que se va a celebrar una fiesta. Quiero tirar un listado de esas fiesta ...
  #1 (permalink)  
Antiguo 21/06/2003, 17:54
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Ordenar año/mes/apartir de un dia

Hola,
tengo una bd en la que guardo los dias en que se va a celebrar una fiesta.
Quiero tirar un listado de esas fiesta en el que se pueda escoger un año concreto y ordenar lo por meses (seleccionando un mes concreto) y dentro de meses por dias. Esto lo he conseguido aunque debe haber algun sistema mas simple que el que yo utilizo.
Bien, el problema aparce cuando no quiero todo el mes, sino que lo quiero a partie de un dia concreto.

Alguien tiene idea de como puedo hacerlo.

Un saludo
  #2 (permalink)  
Antiguo 21/06/2003, 18:01
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
"Select * from tutabla where fechafiesta between #$inicio# and #$fin#"
__________________
Manoloweb
  #3 (permalink)  
Antiguo 21/06/2003, 18:03
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Combina ese query con las funciones MKTIME y veras que todo se puede...

__________________
Manoloweb
  #4 (permalink)  
Antiguo 21/06/2003, 18:13
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
#$inicio# and #$fin# serian el dia de inicio i fin?

Un saludo
  #5 (permalink)  
Antiguo 21/06/2003, 18:15
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 15 años, 8 meses
Puntos: 2
tu q crees?
__________________
http://www.chorcha.com
  #6 (permalink)  
Antiguo 21/06/2003, 18:18
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
Camargo Camargo
Lo digo porque no se com averiguar el ultimo dia.
Yo uso: mysql_query ("select * from databalls where any=$any order by mes, dia")
  #7 (permalink)  
Antiguo 21/06/2003, 18:23
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
Lo he intenado creando una referencia con año+mes+dia. Lo ordeno por esta referencia pero algo he hecho mal pq me lo ordena los dias dentro del mes pero los meses no los pone en orden
  #8 (permalink)  
Antiguo 22/06/2003, 12:29
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
He conseguido que funciono lo de crear una referencia y que lo ordene apartir de ella.
Alguien puede decir me como ordeno entre dos referencias?
Lo he intententado con el codigo
Código:
"Select * from tutabla where fechafiesta between #$inicio# and #$fin#"
que me dio Manoloweb. Pero no consigo que funcione.
En la db tengo un campo que se llama ref y desde un formulario le paso las variables $refinicilal y $reffinal. Como quedaria el codigo que me dio Manoloweb?

Un saludo
  #9 (permalink)  
Antiguo 22/06/2003, 13:29
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 14 años, 7 meses
Puntos: 2
Pues segun lo que te entendi yo:

SELECT DAYOFMONTH(campoFecha) as dia, MONTH(campoFecha) as mes, YEAR(campoFecha) as anio FROM tabla WHERE anio=2003 ORDER BY mes, dia

NO era así?
  #10 (permalink)  
Antiguo 22/06/2003, 13:36
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
DotNetDeveloper
no dudo que funcione el codigo que has puesto. pero mi pregunta iva encaminada al como se colocan las variables de "Select * from tutabla where fechafiesta between #$inicio# and #$fin#"

Gracias por tu interes.
Un saludo
  #11 (permalink)  
Antiguo 22/06/2003, 13:39
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 14 años, 7 meses
Puntos: 2
Código PHP:
$sql="SELECT DAYOFMONTH(campoFecha) as dia, MONTH(campoFecha) as mes, YEAR(campoFecha) as anio FROM tabla WHERE anio=".$_POST["anio"]." ORDER BY mes, dia" 
  #12 (permalink)  
Antiguo 22/06/2003, 14:16
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
Eso solo ordenaria un año, no?
Y si quiero ordenar varios años?
  #13 (permalink)  
Antiguo 22/06/2003, 14:32
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 14 años, 7 meses
Puntos: 2
Pues los metes en el Where. Creo que necesitas leerte un manual de SQL eso es algo básico
  #14 (permalink)  
Antiguo 22/06/2003, 14:50
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
Creo que... Rectifico! Estoy seguro de que tienes razón DotNetDeveloper.
De todas formas me referia a como paso la variable desde el formulario con dos valores. Hago un array?

Un saludo
  #15 (permalink)  
Antiguo 22/06/2003, 15:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisate la sintax del "BETWEEN" (que significa "entre") .. Y si tiens problemas con "contatenación" en PHP acude al tema "Strings" del manual oficial de PHP.

Código PHP:
$sql="SELECT DAYOFMONTH(campoFecha) as dia, MONTH(campoFecha) as mes, YEAR(campoFecha) as anio FROM tabla WHERE campoFecha BETWEEN ".$_POST["anio_inicio"]." AND ".$_POST["anio_fin"]." ORDER BY mes, dia"

Ahí se asume que le vas a pasar de un formulario (por method POST) las variables:

anio_inicio y anio_fin ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 23/06/2003, 07:11
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 14 años, 8 meses
Puntos: 0
Gracias cluster. Lo intentare con las fechas.
De momento lo he solucionado creando una referencia con una cadena de añodiames i un if de si se encuentra entre las dos referencias que lo saque por pantalla.
De todas formas debo intenta lo con fechas haber si aprendo mas.

Muchas gracias por vuestra ayuda.
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 06:43.