Foros del Web » Programando para Internet » PHP »

Ayuda con este código

Estas en el tema de Ayuda con este código en el foro de PHP en Foros del Web. Hola, me pidieron ayuda para con este código pero la verdad aún no encuentro como solucionarlo, espero me puedan ayudar. De antemano muchas gracias. La ...
  #1 (permalink)  
Antiguo 02/12/2010, 09:33
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Ayuda con este código

Hola, me pidieron ayuda para con este código pero la verdad aún no encuentro como solucionarlo, espero me puedan ayudar. De antemano muchas gracias.

La idea es buscar la edad de los usuarios comparandola con la fecha actual, se supone que el código tiene algún error, pero aún no logro encontrarlo.

Código PHP:
class CalculoEdad{

    function 
CalcularEdad($fecha_de_nacimiento){
    
        
$fecha_actual date ("d-m-Y"); 
        
$fecha_de_nacimiento date("d-m-Y"strtotime($fecha_de_nacimiento));
        
        
// separamos en partes las fechas 
        
$form1 explode "-"$fecha_de_nacimiento ); 
        
$form2 explode "-"$fecha_actual ); 
        
        
$año_nac $form1[2];
        
$mes_nac $form1[1];
        
$dia_nac $form1[0];
        
        
$año_act $form2[2];
        
$mes_act $form2[1];
        
$dia_act $form2[0];
        
$years $año_act $año_nac
        
        
//años
        
if ($año_nac $año_act)
        {
             if(
$mes_nac>$mes_act)
              {
                  
$years=$years-1;
              }
            else if(
$mes_nac==$mes_act and($dia_nac>$dia_act)) 
             {
                 
$years=$years-1;
             }
             else  
             {
                 
$years;
             }
        }
        
$months=$mes_nac-1;
        
$months=($año_nac*12)+$months;
        
$months1=$mes_act-1;
        
$months1=($año_act*12)+$months1;
        
$res=$months1-$months;
        
        
//$res=$res % 12;
        
if($dia_nac>$dia_act)
        {
            
$res=$res-1;
            
$res $res 12;
        }
        else
        {
            
$res=$res;
            
$res $res 12;
        }
        if(
$res<10)
        {
        
$res="0".$res;
        }
        else
        {
        
$res=$res;
        }
        return 
$years.".".$res
    }
// fin de la funcion
    
    //fecha con texto
    
function CalcularEdadTexto($fecha_de_nacimiento){
    
        
$fecha_actual date ("d-m-Y"); 
        
$fecha_de_nacimiento date("d-m-Y"strtotime($fecha_de_nacimiento));
        
        
// separamos en partes las fechas 
        
$form1 explode "-"$fecha_de_nacimiento ); 
        
$form2 explode "-"$fecha_actual ); 
        
        
$año_nac $form1[2];
        
$mes_nac $form1[1];
        
$dia_nac $form1[0];
        
        
$año_act $form2[2];
        
$mes_act $form2[1];
        
$dia_act $form2[0];
        
$years $año_act $año_nac
        
        
//años
        
if ($año_nac $año_act)
        {
             if(
$mes_nac>$mes_act)
              {
                  
$years=$years-1;
              }
            else if(
$mes_nac==$mes_act and($dia_nac>$dia_act)) 
             {
                 
$years=$years-1;
             }
             else  
             {
                 
$years;
             }
        }
        
$months =$mes_nac-1;
        
$months=($año_nac*12)+$months;
        
$months1=$mes_act-1;
        
$months1=($año_act*12)+$months1;
        
$res=$months1-$months;
        
        
//$res=$res % 12;
        
if($dia_nac>$dia_act)
        {
            
$res=$res-1;
            
$res $res 12;
        }
        else
        {
            
$res=$res;
            
$res $res 12;
        }
        if(
$res<10)
        {
        
$res="0".$res;
        }
        else
        {
        
$res=$res;
        }
        return 
$years." años ".$res." meses "
    }
// fin de la funcion

function Eda2($fecha_de_nacimiento){
    
        
//$fecha_actual = date ("d-m-Y");
        
$fecha_actual $fecha_reporte;
        
$fecha_de_nacimiento date("d-m-Y"strtotime($fecha_de_nacimiento));
        
        
// separamos en partes las fechas 
        
$form1 explode "-"$fecha_de_nacimiento ); 
        
$form2 explode "-"$fecha_actual ); 
        
        
$año_nac $form1[2];
        
$mes_nac $form1[1];
        
$dia_nac $form1[0];
        
        
$año_act $form2[2];
        
$mes_act $form2[1];
        
$dia_act $form2[0];
        
$years $año_act $año_nac
        
        
//años
        
if ($año_nac $año_act)
        {
             if(
$mes_nac>$mes_act)
              {
                  
$years=$years-1;
              }
            else if(
$mes_nac==$mes_act and($dia_nac>$dia_act)) 
             {
                 
$years=$years-1;
             }
             else  
             {
                 
$years;
             }
        }
        
$months =$mes_nac-1;
        
$months=($año_nac*12)+$months;
        
$months1=$mes_act-1;
        
$months1=($año_act*12)+$months1;
        
$res=$months1-$months;
        
        
//$res=$res % 12;
        
if($dia_nac>$dia_act)
        {
            
$res=$res-1;
            
$res $res 12;
        }
        else
        {
            
$res=$res;
            
$res $res 12;
        }
        if(
$res<10)
        {
        
$res="0".$res;
        }
        else
        {
        
$res=$res;
        }
        return 
$years.".".$res
    }
// fin de la funcion
    
    
    
    ///FECHA PROGRAMADA PARA EL REPORTE DE SEGUIMIENTOS
    
function CalcularEdad3($fecha_de_nacimiento$fecha_actual){
    
        
$fecha_de_nacimiento date("d-m-Y"strtotime($fecha_de_nacimiento));
        
// separamos en partes las fechas 
        
$form1 explode "-"$fecha_de_nacimiento ); 
        
$form2 explode "-"$fecha_actual ); 
        
        
$año_nac $form1[2];
        
$mes_nac $form1[1];
        
$dia_nac $form1[0];
        
        
$año_act $form2[2];
        
$mes_act $form2[1];
        
$dia_act $form2[0];
        
$years $año_act $año_nac
        
        
//años
        
if ($año_nac $año_act)
        {
             if(
$mes_nac>$mes_act)
              {
                  
$years=$years-1;
              }
            else if(
$mes_nac==$mes_act and($dia_nac>$dia_act)) 
             {
                 
$years=$years-1;
             }
             else  
             {
                 
$years;
             }
        }
        
$months =$mes_nac-1;
        
$months=($año_nac*12)+$months;
        
$months1=$mes_act-1;
        
$months1=($año_act*12)+$months1;
        
$res=$months1-$months;
        
        
//$res=$res % 12;
        
if($dia_nac>$dia_act)
        {
            
$res=$res-1;
            
$res $res 12;
        }
        else
        {
            
$res=$res;
            
$res $res 12;
        }
        if(
$res<10)
        {
        
$res="0".$res;
        }
        else
        {
        
$res=$res;
        }
        return 
$years.".".$res
    }
// fin de la funcion
    
function CalcularEdad4($fecha_de_nacimiento$fecha_prog){
    
        
$fecha_actual $fecha_prog
        
$fecha_de_nacimiento date("d-m-Y"strtotime($fecha_de_nacimiento));
        
// separamos en partes las fechas 
        
$form1 explode "-"$fecha_de_nacimiento ); 
        
$form2 explode "-"$fecha_actual ); 
        
        
$año_nac $form1[2];
        
$mes_nac $form1[1];
        
$dia_nac $form1[0];
        
        
$año_act $form2[2];
        
$mes_act $form2[1];
        
$dia_act $form2[0];
        
$years $año_act $año_nac
        
        
//años
        
if ($año_nac $año_act)
        {
             if(
$mes_nac>$mes_act)
              {
                  
$years=$years-1;
              }
            else if(
$mes_nac==$mes_act and($dia_nac>$dia_act)) 
             {
                 
$years=$years-1;
             }
             else  
             {
                 
$years;
             }
        }
        
$months =$mes_nac-1;
        
$months=($año_nac*12)+$months;
        
$months1=$mes_act-1;
        
$months1=($año_act*12)+$months1;
        
$res=$months1-$months;
        
        
//$res=$res % 12;
        
if($dia_nac>$dia_act)
        {
            
$res=$res-1;
            
$res $res 12;
        }
        else
        {
            
$res=$res;
            
$res $res 12;
        }
        if(
$res<10)
        {
        
$res="0".$res;
        }
        else
        {
        
$res=$res;
        }
        return 
$years.".".$res
    }
// fin de la funcion

    
}// fin de la clase 
  #2 (permalink)  
Antiguo 02/12/2010, 09:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda con este código

Para calcular la edad no necesitas tanto código. Mira algo sencillo
Código PHP:
Ver original
  1. <?php
  2. function calculoEdad($dt){
  3.     return intval((time() - strtotime($dt)) / 60 / 60 / 24 / 365.25);
  4. }
  5. echo calculoEdad('1982-01-01');
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 02/12/2010, 09:45
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: Ayuda con este código

y ya lo probaste a ver cual error da?? postea el error
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x

Etiquetas: Ninguno
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 04:01.