Foros del Web » Programando para Internet » PHP »

Trabajo con Fechas y MYSQL

Estas en el tema de Trabajo con Fechas y MYSQL en el foro de PHP en Foros del Web. Hola amigos: Tengo que hacer una consulta a una base de datos donde paso como parametros la fecha de inicio y fecha final y tengo ...
  #1 (permalink)  
Antiguo 29/06/2012, 09:26
 
Fecha de Ingreso: noviembre-2002
Mensajes: 147
Antigüedad: 21 años, 5 meses
Puntos: 0
Trabajo con Fechas y MYSQL

Hola amigos:

Tengo que hacer una consulta a una base de datos donde paso como parametros la fecha de inicio y fecha final y tengo que devolver los dias entre las fechas con su valor correspondiente al campo de la base de datos.

Me explicare mejor con un ejemplo

Tengo una tabla con los campos

valor y time

valor: sera un numero entero
time: fecha tipo time().

Si pasara por parametro estas fechas:
2012-05-29 y 2012-06-05

deberia tener como resultado esta tablita

mes - dia : 05-29 05-30 05-31 06-01 06-02 06-03 06-04 06-05
valor DB : 100 50 30 200 20 14 112 15

He intentado pero no me sale como sacar esos datos asi. Alguna ayuda por favor!

Atte,

remy
  #2 (permalink)  
Antiguo 29/06/2012, 09:32
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: Trabajo con Fechas y MYSQL

Prueba:

Código MySQL:
Ver original
  1. SELECT Day(time), Month(time), Valor(time), valor
  2. FROM tabla
  3. WHERE time >= $fechaInicial AND time <= $fechaInicial

Saludos
  #3 (permalink)  
Antiguo 29/06/2012, 09:49
 
Fecha de Ingreso: noviembre-2002
Mensajes: 147
Antigüedad: 21 años, 5 meses
Puntos: 0
Respuesta: Trabajo con Fechas y MYSQL

Hola DJAEVI:
Gracias por responder. Primero Valo (TIME) me retorna error en SQL. Segundo cuando hago la consulta quitando de ella Valor(TIME) me devuelve NULL DAY(TIME) Y MONTH (TIME). el campo time es : 1340916894 por ejemplo, es una fecha.

Me entiendes?
  #4 (permalink)  
Antiguo 29/06/2012, 10:01
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: Trabajo con Fechas y MYSQL

Perdon en realidad era:

Day(campoFecha), Month(campoFecha), valor. Yo por lo general uso Day y Month para extraer el dia y la fecha pero uso por separado campos date y time, deberias revisar la documentacion de mysql como se extrae los dias y fecha con el formato que estas trabajando.
Cualquier otra consulta me avisas

Saludos
  #5 (permalink)  
Antiguo 29/06/2012, 10:33
 
Fecha de Ingreso: noviembre-2002
Mensajes: 147
Antigüedad: 21 años, 5 meses
Puntos: 0
Respuesta: Trabajo con Fechas y MYSQL

estoy revisando, ya te cuento
  #6 (permalink)  
Antiguo 29/06/2012, 10:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Trabajo con Fechas y MYSQL

Cita:
Iniciado por remy Ver Mensaje
Hola amigos:

Tengo que hacer una consulta a una base de datos donde paso como parametros la fecha de inicio y fecha final y tengo que devolver los dias entre las fechas con su valor correspondiente al campo de la base de datos.

Me explicare mejor con un ejemplo

Tengo una tabla con los campos

valor y time

valor: sera un numero entero
time: fecha tipo time().

Si pasara por parametro estas fechas:
2012-05-29 y 2012-06-05

deberia tener como resultado esta tablita

mes - dia : 05-29 05-30 05-31 06-01 06-02 06-03 06-04 06-05
valor DB : 100 50 30 200 20 14 112 15

He intentado pero no me sale como sacar esos datos asi. Alguna ayuda por favor!

Atte,

remy
Esto es un tema más para el Foro de MySQL, que para e de PHP.
Aclarame un detalle:
- ¿Lo que deseas es que la consulta te devuelva los valores de esa tabla en donde el campo "time" esté comprendido en el rango de las fechas?
Eso sería tan simple como:
Código MySQL:
Ver original
  1. SELECT DATE_FORMAT(`TIME`, '%m-%d'), valor
  2. FROM tabla
  3. WHERE `TIME` BETWEEN '2012-05-29' AND '2012-06-05';
Eso si el campo "time" es un DATETIME, como pareces querer decir.
Pero si lo que tienes es una cifra numérica (1340916894), muy probablemente sea una columna UNIXTIME, por lo que para hacer la consulta, hay que realizar la reconversión:
Código MySQL:
Ver original
  1. SELECT DATE_FORMAT(FROM_UNIXTIME(`TIME`), '%m-%d'), valor
  2. FROM tabla
  3. WHERE FROM_UNIXTIME(`TIME`) BETWEEN '2012-05-29' AND '2012-06-05';

Por cierto: Jamás de los jamases utilices palabras reservadas para poner los nombres de la columnas, como en TIME. Pueden causar errores de sintaxis indetectables, porque esas palabras tienen uso en el propio SQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 29/06/2012, 11:44
 
Fecha de Ingreso: noviembre-2002
Mensajes: 147
Antigüedad: 21 años, 5 meses
Puntos: 0
Respuesta: Trabajo con Fechas y MYSQL

Muchas gracias por los comentarios y las respuestas. Un abrazo por la ayuda

Etiquetas: mysql, tabla, trabajo
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 08:37.