PHP - Calcular la edad de varias personas

 
Vista:
Imágen de perfil de jim

Calcular la edad de varias personas

Publicado por jim (1 intervención) el 17/09/2017 06:41:03
Hola mi gente, resulta que debo hacer mi tarea, en ella debo calcular la edad de las personas que tengo agregadas en la BD

edad

ésto debe ser automática, me refiero a que al cargar la página se calcule las edades de todos los registrados y se muestre.


fotoEdad

Sólo he logrado calcular la edad desde la entrada del formulario y luego esa edad la agrego a la BD, pero la cuestión es que al pasar los días y los años esa edad de todas las personas se deben de actualizar solitos desde el sistema cuando se quiera mostrar una lista de todos los registrados. Quisiera mostrar las personas que cumplen con la edad para ser pensionados(Mujeres mayores de 54 años y Hombres mayores de 59 años). Espero me entiendan y me ayuden, de antemano muchas gracias. Les muestro mi codigo en php de la consulta:


sin
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Calcular la edad de varias personas

Publicado por Miguel (218 intervenciones) el 17/09/2017 15:11:24
Amigo, lo único que tienes que guardar en tu base de datos es la fecha de nacimiento (creo que la guardas actualmente, aunque debería ser en un solo campo tipo DATE).

Cuando quieras mostrar la edad tienes que utilizar una función (que creo ya tienes) para hacer el cálculo, aunque también lo puedes hacer del lado del cliente (con JavaScript) para no saturar el servidor.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Calcular la edad de varias personas

Publicado por santi (204 intervenciones) el 22/09/2017 12:38:38
Puedes guardar la fecha de nacimiento entera en tu base de datos.

En el html:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form>
<!-- dia -->
<label for="dia">Día</label>
<select id="dia" name="dia">
<option value="1">1</option>
<option value="2">2</option>
...
</select>
<!-- mes -->
<label for="mes">Mes</label>
<select id="mes" name="mes">
<option value="1">Enero</option>
<option value="2">Febrero</option>
...
</select>
<!-- año -->
<label for="ano">Año</label>
<select id="ano" name="ano">
<option value="1986">1986</option>
<option value="1985">1985</option>
...
</select>
</form>

Y lo recoges en una variable:

1
2
3
<?php
$fechaNacimiento = $_POST['dia'].'-'.$_POST['mes'].'-'.$_POST['ano'];//y lo insertas en tu base de datos (1-09-1986)
?>

Para mostrarlo en pantalla

1
2
3
4
5
6
7
8
9
10
<?php
  //fecha de nacimiento
  $nacimiento = $fechaNacimiento;//en tu caso la del usuario (ej. '1-09-1986')
  //explora el dia, mes y año
  $nacimiento = explode("-", $nacimiento);
  //obtener la edad
  $edad = (date("md", date("U", mktime(0, 0, 0, $nacimiento[0], $nacimiento[1], $nacimiento[2]))) > date("md")
    ? ((date("Y") - $nacimiento[2]) - 1)
    : (date("Y") - $nacimiento[2]));
  echo $edad;//este es el resultado, en este día, este mes y este año 31
?>

;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar