Foros del Web » Programando para Internet » PHP »

Calculando Fechas

Estas en el tema de Calculando Fechas en el foro de PHP en Foros del Web. Hola, Tengo en mi bbdd un campo Edad que es un tipo DATE que contiene las fechas de nacimientos de muchas personas. Quiero crear un ...
  #1 (permalink)  
Antiguo 29/03/2009, 16:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 4 meses
Puntos: 1
Cumpleaños Feliz!

Hola,

Tengo en mi bbdd un campo Edad que es un tipo DATE que contiene las fechas de nacimientos de muchas personas.

Quiero crear un código que detecte los cumpleaños en el próximo mes e imprima los nombres de dichas personas.

Auí es donde me quedo, porque cuando

Código PHP:
$today date('Y-m-d',mktime(0,0,0,date('m'), date('d'), date('Y')));
$mes date('Y-m-d',mktime(0,0,0,date('m'), date('d')+29date('Y')));
$result2 mysql_query"SELECT Jugador, Edad FROM datos WHERE Edad>$today AND Edad<$mes");
while(
$row2 mysql_fetch_array($result2))
{
if (
$row2['Edad']==$today)
{
echo 
"<font face=Arial color=#FF0000 size=1><strong>""Muchas Felicidades ";
echo 
"<font face=Arial color=#FF0000 size=1><strong><a href='ficha.php?Jugador=".urlencode($row2[Jugador])."'>"utf8_decode($row2['Jugador'])."<br>";
}
else
{
echo 
"<font face=Arial color=#000000 size=2>"."Próximos Cumpleaños";
echo 
"<br>"."<font face=Arial color=#003366 size=2>" $row2['Jugador'] ."   ";
}

  #2 (permalink)  
Antiguo 29/03/2009, 19:27
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Cumpleaños Feliz!

Obten el numero del mes usando la funcion date() y haz la consulta:

SELECT nombre FROM tabla WHERE MONTH(cumple) = '$variableQueContieneElProximoMes';
  #3 (permalink)  
Antiguo 30/03/2009, 00:08
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: Cumpleaños Feliz!

Tambien podrías hacer algo asi

$hoy= date("d-m-y");

$hoymasunmes= date("d-m-y",strtotime("1+ month"));

$sql = mysql_query("SELECT * FROM ALGO WHERE cumple BETTWEN $hoy AND $hoymasunmes");


  #4 (permalink)  
Antiguo 01/04/2009, 18:32
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Calculando Fechas

Código php:
Ver original
  1. // Obtienes datos del mes actual
  2. list($anio, $mes, $ultimo_dia) = explode('-', date('Y-m-t', time()));
  3.  
  4. // Creas el timestamp del ultimo dia de este mes
  5. // y agregas un dia mas para que sea el primer dia del siguiente mes
  6. $inicial = strtodate("$anio-$mes-$ultimo_dia") + 86400;
  7.  
  8. // Obtienes informacion del mes para crear la fecha final
  9. list($anio, $mes, $ultimo_dia) = explode('-', date('Y-m-t', $inicial));
  10.  
  11. // Creas las fechas en formato requerido en la base de datos
  12. $inicio = date('Y-m-d', $inicial) . ' 00:00:00';
  13. $final = "$anio-$mes-$ultimo_dia 23:59:59";
  14.  
  15. // Haces la consulta con un between:
  16. $query = "SELECT * FROM tabla WHERE fecha BETWEEN $inicio AND $final";

Edito: es mucho mas facil con MONTH().... sorry

P.D. Es lo malo de que nunca uso campos tipo date.
__________________
- León, Guanajuato
- GV-Foto
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:44.