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
|
 |
 |
cleyan
Posts: 136
|
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 |
 |
 |
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;
?>
|
|
 |
|