Foros del Web » Programando para Internet » PHP »

Falta poco para el cumpleaños del usuario!

Estas en el tema de Falta poco para el cumpleaños del usuario! en el foro de PHP en Foros del Web. Cómo le hago para que me avise cuando faltan 15 días para o fue hace 15 días un cumpleaños a partir de la fecha de ...
  #1 (permalink)  
Antiguo 21/04/2007, 13:19
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Falta poco para el cumpleaños del usuario!

Cómo le hago para que me avise cuando faltan 15 días para o fue hace 15 días un cumpleaños a partir de la fecha de nacimiento?
yo intenté algo así: (la variable $fecha es el día de hoy)

$f=$row['fechnac'];
$cumple1= (adddate('$f',15));
$cumple2= (adddate('$f',-15));
if ('$fecha' > '$cumple1' and '$fecha' < '$cumple2')
{
echo "
ATENCION: El cumpleaños del cliente fue hace menos de 15 días o será en menos de 15 días:$f
";
}
else
{
echo "nada";
}

El tema es que la fecha de nacimiento tiene el año del nacimiento, entonces más o menos 14 días me da una fecha de hace un montón de años -cuando nació el usuario, y tampoco me funciona la funcion adddate con la variable... no sé por qué.
En fin... espero ayuda!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 04/05/2007, 07:50
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Re: Falta poco para el cumpleaños del usuario!

Lo he resuelto, cabrones, y sin vuestra ayuda!
aquí va, por si alguien tiene el mismo problema: ($fecha2 se obtiene desde la db)


$fechu= date("Y-m-j");
$data=split("-",$fechu);
$dia1 = $data[2];
$mes1 = $data[1];
$ano1 = $data[0];

$data2=split("-",$fecha2);
//defino fecha 2
$dia2 = $data2[2];
$mes2 = $data2[1];
$ano2 = $data[0];

//calculo timestam de las dos fechas
$timestamp1 = mktime(0,0,0,$mes1,$dia1,$ano1);
$timestamp2 = mktime(4,12,0,$mes2,$dia2,$ano2);

//resto a una fecha la otra
$segundos_diferencia = $timestamp1 - $timestamp2;
//echo $segundos_diferencia;

//convierto segundos en días
$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);

//obtengo el valor absoulto de los días (quito el posible signo negativo)
//$dias_diferencia = abs($dias_diferencia);
$dias_diferencia2 = abs($dias_diferencia);

//quito los decimales a los días de diferencia
$dias_diferencia = floor($dias_diferencia);
$dias_diferencia2 = floor($dias_diferencia2);

if ($dias_diferencia2 < 15)
{
if ($dias_diferencia < 0)
{ echo "<h1><span class='rojo'>faltan $dias_diferencia2 días para el cumpleaños</span></h1>";
}
elseif ($dias_diferencia2 == 0)
{
echo "<h1><span class='rojo'>Hoy es el cumpleaños</span></h1>";
}
elseif ($dias_diferencia > -15)
{
echo "<h1><span class='rojo'>el cumpleaños fue hace $dias_diferencia días</span></h1>";
}
}
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
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 22:28.