Foros del Web » Programando para Internet » PHP »

PHP / MYSQL ....fechas...ayuda por favorr

Estas en el tema de PHP / MYSQL ....fechas...ayuda por favorr en el foro de PHP en Foros del Web. Tengo una tabla de cumpleaños que tienen 3 campos 1 Nombre 2 Fecha 3 Foto Lo que quiero hacer es que en una tabla me ...
  #1 (permalink)  
Antiguo 14/01/2002, 08:59
 
Fecha de Ingreso: enero-2002
Mensajes: 10
Antigüedad: 22 años, 2 meses
Puntos: 0
PHP / MYSQL ....fechas...ayuda por favorr

Tengo una tabla de cumpleaños que tienen 3 campos

1 Nombre
2 Fecha
3 Foto

Lo que quiero hacer es que en una tabla me liste los cumpleaños de la semana...

COMO TENDRIA QUE HACER?? :(
  #2 (permalink)  
Antiguo 14/01/2002, 09:12
Avatar de lical
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: $PWD
Mensajes: 1.267
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: PHP / MYSQL ....fechas...ayuda por favorr

¿En qué formato tienes la fecha? :)

______________
¿Piensas que el software puede ser algo mas?
<a href="http://www.zonasiete.org/" target="_blank">www.zonasiete.org</a>
Acercando el proyecto GNU/Linux a todos.
  #3 (permalink)  
Antiguo 14/01/2002, 10:23
 
Fecha de Ingreso: enero-2002
Mensajes: 10
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: PHP / MYSQL ....fechas...ayuda por favorr

Gracias por Contestar...!!!

el formato de la fecha es como sigue:
01-06-2002 osea dd-mm-aaaa
  #4 (permalink)  
Antiguo 14/01/2002, 15:00
Avatar de lical
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: $PWD
Mensajes: 1.267
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: PHP / MYSQL ....fechas...ayuda por favorr

A mi en esto me dio un consejo epplestun de aqui del foro bastante útil. Más o menos te lo resumo. Mira, es difícil referirnos a una serie de días si tenemos la fecha en ese formato. Bien, la alternativa sería lo siguiente:

Podríamos utilizar la fecha en formato UNIX (el número de segundos transcurrido desde el 1 de enero de 1970, creo), por lo que el campo fecha de nuestra base de datos tendría que ser de tipo DOUBLE por ejemplo.

Luego, con la función date() de PHP podemos transformar esa fecha al formato comprensible (hora-día-mes-año). Pero es más fácil, trabajar en segundos, porque por ejemplo, para tomar la fecha actual en formato UNIX utilizarías:
$fecha_actual = time();

Y algo completo para mostrar todos los registros de una semana nos quedaría como:
$fecha_7dias_mas = time() + 604800; //le sumamos una semana en segundos
$consulta = &quot;SELECT * FROM tabla WHERE fecha &gt; $fecha_actual AND fecha &lt; $fecha_7dias_mas ORDER BY fecha DESC&quot;;

Pero esto tampoco te valdría porque el año también se tiene en cuenta.

Si yo fuera tú lo que haría sería crear un campo llamado dia_mes de tipo INT para poner el día del mes y otro campo de tipo VARCHAR para los meses, de esta manera podría ser más fácil hacer la consulta...

Pero seguro que hay muchas mas formas de resolver esto y que la que yo te propongo aquí no sea la mejor... Lo bueno de PHP es que puedes hacerte las cosas de muchas maneras para conseguir lo mismo... Otra cosa es que rindan mejor o peor... Pero los usuarios normales no lo solemos notar...

Espero haberte dado por lo menos alguna ligera idea....

Un saludo. :)

______________
¿Piensas que el software puede ser algo mas?
<a href="http://www.zonasiete.org/" target="_blank">www.zonasiete.org</a>
Acercando el proyecto GNU/Linux a todos.
  #5 (permalink)  
Antiguo 14/01/2002, 20:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Re: PHP / MYSQL ....fechas...ayuda por favorr

Bueno, aunque esta no es la solucion, aqui van unas pequeñas indicaciones de como obener si el &quot;susodicho&quot; esta de cumpleaños esta semana ( tomando como referencia el dia actual). El asunto va por la funcion mktime() que permite generar fechas pasadas/actual/o fururas, teniendo en cuenta meses, años y sus correspondientes dias de cada uno ...


&lt;?
$intervalo = 7;
$f = explode (&quot;-&quot;,$fecha_extraida_de tu_Mysql)); # en formato dd-mm-aaaa
$tiempo_ahora = mktime (0,0,0,date(&quot;m&quot;),date(&quot;j&quot;),dat e(&quot;Y&quot;)); #aqui calculamos la Hora actual en formato UNIX (aunque con el time() seria lo mismo, pero asi se ve claro la funcion mktime).

$semana=$f[0]+$intervalo; # aqui sumamos 7 dias al dia obtenido de la fecha almacenada.

$tiempo_intervalo = mktime (0,0,0,$f[1],$semana,$f[2]); # conversion a formato UNIX segun se explico mas arriba.. aqui obtenemos la fecha almacenada + 7 dias

# con esto, podemos comparar si el $tiempo_intervalo es &lt; (menor) que el almacenado en la base de datos .. y por lo tanto saber si esta de cumpleaños el &quot;susodicho&quot;.
?&gt;

Ahora solo falta meter estos &quot;mktime&quot; en la estructura SQL &quot;Selec&quot; .. pero ahi no llego...

Un saludo, espero q por lo menos el ejemplo oriente hacia la solucion probable...
  #6 (permalink)  
Antiguo 15/01/2002, 09:09
 
Fecha de Ingreso: enero-2002
Mensajes: 10
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: PHP / MYSQL ....fechas...ayuda por favorr

Gracias!!! AMIGOS ya estoy trabajando en las dos soluciones que me dieron....

Cualquier cosita a sus ordenes desde el CORAZON de AMERICA !!!! :)
  #7 (permalink)  
Antiguo 16/01/2002, 21:07
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 5 meses
Puntos: 6
Re: PHP / MYSQL ....fechas...ayuda por favorr

SELECT * FROM tabla WHERE fecha BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAY

Esto te devuelve las fechas dentro de un periodo de 7 dias a partir de la fecha actual

Saludos.
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 20:39.