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?? :(
| |||
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?? :( |
| ||||
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 = "SELECT * FROM tabla WHERE fecha > $fecha_actual AND fecha < $fecha_7dias_mas ORDER BY fecha DESC"; 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. |
| |||
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 "susodicho" 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 ... <? $intervalo = 7; $f = explode ("-",$fecha_extraida_de tu_Mysql)); # en formato dd-mm-aaaa $tiempo_ahora = mktime (0,0,0,date("m"),date("j"),dat e("Y")); #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 < (menor) que el almacenado en la base de datos .. y por lo tanto saber si esta de cumpleaños el "susodicho". ?> Ahora solo falta meter estos "mktime" en la estructura SQL "Selec" .. pero ahi no llego... Un saludo, espero q por lo menos el ejemplo oriente hacia la solucion probable... |
| |||
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. |