Foros del Web » Programando para Internet » PHP »

Ayuda para sacar edad

Estas en el tema de Ayuda para sacar edad en el foro de PHP en Foros del Web. hola, me baje este codigo de internet sin embargo me está devolviendo un valor 20 años mas grande jejeje alugien me puede ayudar? Código PHP: ...
  #1 (permalink)  
Antiguo 09/09/2003, 14:57
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años
Puntos: 0
Ayuda para sacar edad

hola, me baje este codigo de internet sin embargo me está devolviendo un valor 20 años mas grande jejeje

alugien me puede ayudar?

Código PHP:
<?php
function edad($fecha_nac)
{
//Esta funcion toma una fecha de nacimiento 
//desde una base de datos mysql
//en formato aaaa/mm/dd y calcula la edad en números enteros

    
$dia=date("d");
    
$mes=date("m");
    
$anno=date("Y");

    
//descomponer fecha de nacimiento
    
$dia_nac=substr($fecha_nac82);
    
$mes_nac=substr($fecha_nac52);
    
$anno_nac=substr($fecha_nac04);

    if(
$mes_nac>$mes){
        
$calc_edad$anno-$anno_nac-1;
    }else{
        if(
$mes==$mes_nac AND $dia_nac>$dia){
            
$calc_edad$anno-$anno_nac-1;  
        }else{
            
$calc_edad$anno-$anno_nac;
        }
    }
    return 
$calc_edad;
}
echo 
edad(1985-08-20),"<br>";

?>
Gracias de antemano
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx

Última edición por castordj; 09/09/2003 a las 17:23
  #2 (permalink)  
Antiguo 09/09/2003, 15:07
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Prueba con:
Código PHP:
echo edad('1985-08-20'),"<br>"
Las fechas en PHP son cadenas. Tal como lo tenias pasabas como fecha '1957', el resultado de la operacion 1985 menos 08 menos 20.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 09/09/2003, 15:45
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años
Puntos: 0
ya funcionó muchas gracias josemi!, ahora tengo otra pregunta relacionada con este tema:

Para introducir una fecha de este tipo a un campo date, desde un formulario puedo juntar tres campos año, mes y día en una sola variable para meterlo al campo?


Gracias!
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx

Última edición por castordj; 09/09/2003 a las 15:47
  #4 (permalink)  
Antiguo 09/09/2003, 22:08
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 20 años, 8 meses
Puntos: 0
Si, si puedes hacer:

$Fecha = $_POST['ANYO'] . $_POST['MES'] . $_POST['DIA'];


Suponiendo que el método que utilices para el envio de las variables ANYO,MES y DIA sea POST. Fijate que al concatenar lo hago, primero el año, después el mes y por último el dia. Así debes hacerlo para almacenarlo en un campo DATE de una tabla.


Un saludo.
  #5 (permalink)  
Antiguo 10/09/2003, 08:43
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años
Puntos: 0
No es necesario meterle los guiones ? por ejemplo 2000-08-21 para que quede como están en el campo date?
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
  #6 (permalink)  
Antiguo 10/09/2003, 10:55
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola, no es necesario al almacenarlo, se los añade solo.

Un saludo.
  #7 (permalink)  
Antiguo 10/09/2003, 14:02
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años
Puntos: 0
ok muchas gracias, me fue de gran utilidad
__________________
Edgar Castro
Estudiante de Ingenieria en Sistemas @ ITESO
http://www.iteso.mx
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 02:03.