CodeCharge Studio
search Register Login  

Web Reporting

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

YesSoftware Forums -> CodeCharge Studio -> Español

 Calculo de edad en base a fecha de nacimiento

Print topic Send  topic

Author Message
Esteban78

Posts: 5
Posted: 01/24/2012, 11:14 AM

Mi problema reside en que no encuentro la forma de calcular la edad dentro de un formulario php, en el cual recibo como dato la fecha de nacimientos de la forma DD/MM/AAAA dentro de un textbox "fechaNacimiento" relacionado a un datapicker "DatePicker_fechaNacimiento" en el que al ingresar la fecha asigne la edad en otro campo textbox "edad" y así actualice la edad cargada.

Otro duda es como ejecuto un comando sql, para que se actualice manualmente al inicio de cada año las edades cargadas en la bd MySql, manualmente en phpmyadmin ejecuto
edad.sql
UPDATE `inscriptos` SET `inscriptos`.`edad` = (
YEAR( CURDATE( ) ) - YEAR( fechaNacimiento )
) - ( RIGHT( CURDATE( ) , 5 ) < RIGHT( fechaNacimiento, 5 ) );
satisfactoriamente quisiera dar una opción al administrador del sitio para que ejecute este comando desde la web mediante php. utilizando la conexión establecida en el login

Gracias por su tiempo
View profile  Send private message
cleyan


Posts: 113
Posted: 01/27/2012, 8:17 AM

Hola Esteban
En realidad yo he visto que no es muy buena idea el guardar la edad dentro de la base de datos ya que es un dato que puede cambiar a diario, lo que hago en mis proyectos es guardar la fecha de nacimiento y la edad la muestro en las consultas que hago sobre esas tablas, asi se calcula al momento de mostrar los datos y siempre está actualizada, incluyendo meses o dias para algunas aplicaciones médicas, también en algunos casos he usado una funcion personalizada en la base de datos para cuando necesito hacer busquedas o filtros en base a la edad

De todas maneras lo que mencionas se puede hacer ejecutando una funcion en javascript asociada al evento onchange del cuadro donde está la fecha y así calcular la edad y colocarlo en un textbox o campo hidden, aunque me gusta más la idea de agregar un evento en el lado del server por ejemplo antes de ejecutar la función insert o update de la tabla para ajustar ese valor

Lo que mencionas de ejecutar un comando que actualice la fecha en realidad debieras hacerlo a diario y no una vez al año, ya que todos los dia alguien puede cumplir años, puedes hacer un archivo que ejecute la sentencia y dejarlo programado via cron para que se ejecute por ejemplo cada dia a media noche

Espero haberte podrido ayudar o darte luces de lo que mas te conviene hacer según el diseño de tu aplicación

Saludos


Carlos
_________________
**************************************************
Carlos Leyan B.
Temuco, Chile
www.leytec.net
View profile  Send private message
Manny
Posted: 04/08/2012, 12:22 PM

On 2012-01-24 19:14:19 +0000, Esteban78 said:

> Mi problema reside en que no encuentro la forma de calcular la edad
> dentro de un
> formulario php, en el cual recibo como dato la fecha de nacimientos de la forma
> DD/MM/AAAA dentro de un textbox "fechaNacimiento" relacionado a un datapicker
> "DatePicker_fechaNacimiento" en el que al ingresar la fecha asigne la edad en
> otro campo textbox "edad" y así actualice la edad cargada.
>
> Otro duda es como ejecuto un comando sql, para que se actualice manualmente al
> inicio de cada año las edades cargadas en la bd MySql, manualmente en
> phpmyadmin ejecuto
> edad.sql
> UPDATE `inscriptos` SET `inscriptos`.`edad` = (
> YEAR( CURDATE( ) ) - YEAR( fechaNacimiento )
> ) - ( RIGHT( CURDATE( ) , 5 ) < RIGHT( fechaNacimiento, 5 ) );
> satisfactoriamente quisiera dar una opción al administrador del sitio para que
> ejecute este comando desde la web mediante php. utilizando la conexión
> establecida en el login
>
> Gracias por su tiempo
> ---------------------------------------
> Sent from YesSoftware forum
> http://forums.yessoftware.com/

Yo calculo la fecha de la siguiente manera, y luego despliego la
variable $age usando el evento before show.

<?php

$dob = "1973-04-09";
$today_dte = date("Y-m-d");

$age = substr($today_dte,0,4) - substr($dob,0,4);

if (substr($today_dte,5,5) < substr($dob,5,5)){
$age = $age - 1;
}
echo $age;
?>




Add new topic Subscribe to topic   


These are Community Forums for users to exchange information.
If you would like to obtain technical product help please visit http://support.yessoftware.com.

Internet Database

Visually create Web enabled database applications in minutes.
CodeCharge.com

Home   |    Search   |    Members   |    Register   |    Login


Powered by UltraApps Forum created with CodeCharge Studio
Copyright © 2003-2004 by UltraApps.com  and YesSoftware, Inc.