Foros del Web » Programando para Internet » PHP »

Calcular edad desde db mysql a un php

Estas en el tema de Calcular edad desde db mysql a un php en el foro de PHP en Foros del Web. Hola, busqué por todo el foro y vi que hay muchas opciones para esto pero ninguna se adapta a la que necesito o no la ...
  #1 (permalink)  
Antiguo 04/12/2008, 09:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 3
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Calcular edad desde db mysql a un php

Hola, busqué por todo el foro y vi que hay muchas opciones para esto pero ninguna se adapta a la que necesito o no la sé aplicar correctamente.

Estoy creando una DB en mysql que tiene un campo date en formato YYYY-MM-DD. (De ser necesario se podría cambiar por alguna que aplique mejor). De este dato tengo que calcular la edad actual y presentarla en una página. En realidad la página tendría un campo en el que ingreso el DNI y me da todos los datos del cliente registrado y a su vez calcularía la edad actual.

¿COMO HAGO ESTO!? Por favor, me doy maña para todo pero esto me está rompiendo la cabeza y lo tengo que hacer en muy poco tiempo.

RESUMEN:
- Desde una página web: ingresar el DNI y que me aparezcan todos los datos registrados en la db.
- En esta misma página: calcular la edad desde un campo que puso su fecha de nacimiento.

Plis?

GRACIAS!!!
  #2 (permalink)  
Antiguo 04/12/2008, 09:45
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Calcular edad desde db mysql a un php

con el siguiente script puedes obtener la edad

Código PHP:
<?php
$datos 
mysql_fetch_array($consulta);

// Obtener fecha de la bd y calcular edad
$dia=date(j);
$mes=date(n);
$ano=date(Y);

$nacimiento=explode("-",$datos["fecha_nacimiento"]);
$dianac=$nacimiento[2];
$mesnac=$nacimiento[1];
$anonac=$nacimiento[0];
//si el mes es el mismo pero el día inferior aun no ha cumplido años, le quitaremos un año al actual
if (($mesnac == $mes) && ($dianac $dia)){
$ano=($ano-1);}
//si el mes es superior al actual tampoco habrá cumplido años, por eso le quitamos un año al actual
if ($mesnac $mes){
$ano=($ano-1);}
//ya no habría mas condiciones, ahora simplemente restamos los años y mostramos el resultado como su edad
$edad=($ano-$anonac);
 
?>
  #3 (permalink)  
Antiguo 04/12/2008, 09:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 3
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Calcular edad desde db mysql a un php

Increible tu rapidez para contestar, pero te aclaro que soy relativamente nuevo en PHP y mysql, aplico cosas que copio y pego y así aprendo. Por lo tanto, no entiendo que hacer que este código. Lo cargo en un php y lo subo pero me da error, obviamente le faltan mil cosas, no? Disculpá mis preguntas tontas para el nivel avanzado que encuentro en todo el foro pero así aprendo y no jodo más:

- ¿Cómo sería el código completo para levantar datos desde la db al php?
- El campo en el que almaceno la edad se llama cumple, ¿Cuál es la variable que tengo que cambiar dentro del código que me pasaste?

Gracias!!!
  #4 (permalink)  
Antiguo 04/12/2008, 10:49
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Calcular edad desde db mysql a un php

Es muy facil usando strtotime:

Código PHP:
<?php
//supongamos que ya la consulta esta hecha, y que la fecha esta en $row['fecha']
$fecha strtotime($row['fecha']);
$anios $fecha / (60*60*24*365);
$anios floor($anios); //floor redondea hacia abajo SIEMPRE
echo $anios;
?>
http://www.php.net/manual/es/function.strtotime.php
http://www.php.net/manual/es/function.floor.php

Última edición por Ronruby; 04/12/2008 a las 21:44 Razón: Faltaba un ";"
  #5 (permalink)  
Antiguo 04/12/2008, 14:30
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Calcular edad desde db mysql a un php

asi tambien se puede, pero lo malo esque no calcula la edad actual, kiero decir. si cumples los años el mes ke viene te salen los años ke cumpliras ese año. de la otra forma asta ke no llege el dia no te los suma. saludos
  #6 (permalink)  
Antiguo 04/12/2008, 21:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Calcular edad desde db mysql a un php

Cita:
Iniciado por layker Ver Mensaje
asi tambien se puede, pero lo malo esque no calcula la edad actual, kiero decir. si cumples los años el mes ke viene te salen los años ke cumpliras ese año. de la otra forma asta ke no llege el dia no te los suma. saludos
De hecho, si lo cuenta.

Si lo quieres mas EXACTO de ahi, seria solo calcular la cantidad de años bisiestos desde la fecha de nacimiento hasta hoy, y sumarle esa cantidad a los dias.
  #7 (permalink)  
Antiguo 05/12/2008, 11:59
 
Fecha de Ingreso: abril-2008
Ubicación: Medellin
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Calcular edad desde db mysql a un php

lo del dni

Código PHP:

<?php 

require_once (carpeta_conexion/conexion.php);
$dni=$_POST["dni"];
$sql="SELECT * FROM usuario WHERE dni ='$dni'";
$query=mysql_db_query("bd",$sql,$conexion);
$array=mysql_fetch_array($query);



?>


nombre = <?php echo $array["nombre"]; ?>

apellido = <?php echo $array["apellido"]; ?>


dni = <?php echo $array["dni"]; ?>

direccion = <?php echo $array["direccion"]; ?>

y asi  susecivamente.. olo podesacomodar con tablas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:43.